Boost logo

Boost Users :

Subject: Re: [Boost-users] [asio] async write handler is not called until the socket is not closed
From: Roman Shmelev (rshmelev_at_[hidden])
Date: 2009-04-30 05:34:23


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.


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net