Boost logo

Boost Users :

Subject: [Boost-users] problem with interprocess queue in boost 1.39
From: orialtman (oaltman_at_[hidden])
Date: 2012-02-23 07:12:37

Hi All!

I am using boost 1.39 on windows.

i have implemented a simple client server application and ran the client and
server simultaneously.
The client pushes request using 'send' api with no timeout. it then sleeps
for 3 seconds and sends another request and so on.

the server pops messages from the queue with a timeout of 1 second. it then
sleeps for 1 seconds and pops again and so on.

this was created to simulate a problem i have in a more complicated server
which actually performs work on received items.

After some random time has passed i see that the client is locked and unable
to push messages.
it is locked in the 'notify' function which takes place at the end of
do_send method of message_queue.hpp.

while it is locked there i also see that the number of waiters on the
condition is 1.
when i pause the server application i see that it is not inside the
do_receive method and therefore there is no appearent reason for the lock to
be unavailable and for the number of waiters to be 1.

has anyone come across something similar? is this a known issue for 1.39 or
am i using the queue in a bad form?

View this message in context:
Sent from the Boost - Users mailing list archive at

Boost-users list run by williamkempf at, kalb at, bjorn.karlsson at, gregod at, wekempf at