Boost logo

Boost :

Subject: [boost] [asio] possible multi-threaded bug with async_write_some()
From: Brian and Victoria (bnv_at_[hidden])
Date: 2009-03-21 00:07:05


I'm running asio (boost 1.38) multi-threaded, and noticed that on a
context switch between threads, my handler for async_write_some() will
sometimes get invoked with no data transferred. My handler would call
async_write_some() again if there was remaining data, but this caused
(most of) the data to get sent twice since there appears to still be a
call to the handler pending in the work queue.

I'm not sure if this behavior is a bug or not, but the solution was to
check for 0 data transferred and exit the handler if so.

-Brian


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk