30 Apr
2009
30 Apr
'09
9:34 a.m.
Thank you for reply, Igor! But I guess the io_service thread is not blocked. Becase: a) I have 2 threads. One pushes messages to queue. Second is io_service.run() with timer that async_reads from socket and async_writes the message queue to socket b) program continues working. Async_read handler is called. Writing is also completes (server, written in the same way - receives all data) + timers "onTick"s are also invoked. So, all IO is done within 1 thread and if it will be blocked then all IO will stop, as I understand, but only async_write handlers are not invoked. Any thoughts are welcome. It seems I've got very rare bug in my program))
According to your description, probable reason is a blocked io_service thread.