Boost logo

Boost :

Subject: Re: [boost] [thread] ~mutex and BOOST_VERIFY
From: Andrey Semashev (andrey.semashev_at_[hidden])
Date: 2013-05-26 16:39:33


On Sunday 26 May 2013 22:28:51 Gaetano Mendola wrote:
> Hi,
> I saw that the destructor of ~mutex doesn't have
> a BOOST_VERIFY anymore on the return value of
> pthread_mutex_destroy. From SVN logs I can see it was
> removed in the commit 75882 to manage the EINTR due
> to some bugged POSIX implementation.
> I will reintroduce the BOOST_VERIFY like this:
>
>
> ~mutex()
> {
> int ret;
> do
> {
> ret = pthread_mutex_destroy(&m);
> } while (ret == EINTR);
> BOOST_VERIFY(!ret);
> }
>
> while we are at it consider the fact that for the
> same reason ~mutex needs to check for that EINTR
> return value the same should do timed_mutex.

Are you sure pthread_mutex_destroy can return EINTR? My Linux man page as well
as [1] explicitly states it can't.

[1]
http://pubs.opengroup.org/onlinepubs/009695399/functions/pthread_mutex_init.html


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