Boost logo

Boost :

Subject: Re: [boost] Condition Variables, POSIX signals and system time changes
From: Johan Borkhuis (johan_at_[hidden])
Date: 2012-01-11 17:14:25


Vicente,

Thank you for your quick reply.
I did not get the message from the mailing list, so I copied your
questions into this mail.

As requested I opened a ticket (ticket# 6377) and I attached the demo
application to it, with a small description.

> Do you mean that you are not using Boost.thread here?

No, the application is running in one thread. The condition variables
are used as an alternative sleep method. We discovered that other
sleep-methods are even more vulnerable to time changes, and also have
different responses to Posix signals. The condition variables continue
to work correctly, even with Posix signals, however in combination with
time changes there are some issues.
In our real application we are using boost threads quite heavily though.

> What do you changed exactly? Could you post a patch?

I attached the demo application to the issue. It includes the regular
Boost condition variable use and the changed implementation. It also
includes the Posix timer code to generate the signals.
I did not change the Boost code (yet), as I am not that familiar with it.

> Please, could you post the test that fails and the one that succeeds, it
> will help me a lot.

The demo application shows where things go right and wrong, so hopefully
you should be able to reproduce the issue.

Again, thank you for your quick response.

Regards,
    Johan Borkhuis


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