|
Boost : |
From: Kevlin Henney (kevlin_at_[hidden])
Date: 2000-09-02 02:57:15
In message <20000902013848.04281_at_[hidden]>, Valentin Bonnard
<Bonnard.V_at_[hidden]> writes
>On Fri, Sep 01, 2000 at 09:39:34AM +0100, Kevlin Henney wrote:
>> And the only things they do "promise" are related to signals, not to
>> threading.
>
>That's the same thing !
I assure you, it is not.
>> Introducing a dependency on <csignal> would be misleading
>> (threads and signals interact _badly_) and incorrect :-}
>
>(signals interact badly with almost everything)
But particularly with threads. A number of years ago, whilst POSIX.4a
was in draft (around draft 10 I think), I was working on a system that
used pthreads. The interaction between threads and signals was poorly
specified and one of the more volatile elements of the standard.
>Why do you think that a shared unprotected (ie w/o locks) variable
>of type volatile sig_atomic_t can't be used for inter-thread
>communication ?
Because the standard does not say they can. Simple really ;-)
>(BTW, I haven't been able to find specific guaranties about
>sig_atomic_t in the C++ standard; are they hidden in the C
>standard ? In particular, is sig_atomic_t()++ guarantied
>to be atomic ?)
No such guarantee exists. Greg pretty much posted all the guarantees you
get.
____________________________________________________________
Kevlin Henney phone: +44 117 942 2990
Curbralan Ltd mobile: +44 7801 073 508
kevlin_at_[hidden] fax: +44 870 052 2289
____________________________________________________________
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk