|
Boost : |
From: Victor A. Wagner, Jr. (vawjr_at_[hidden])
Date: 2002-10-04 11:16:18
At Friday 2002/09/27 06:59, you wrote:
>< apropos "synchronized" -- i.e. multithreading ;-) >
>
>David Abrahams wrote:
>[...]
> > {
> > vector1.push_back(e1);
> > try {
> > vector2.push_back(e2):
> > }
> > catch(...) {
> > vector1.pop_back();
> > throw;
> > }
> > }
> >
> > And now you have not only the basic, but the strong guarantee (unless...
>
>unless the entire thread running vector2.push_back(e2) gets >>canceled<<
>hitting some cancellation point or async-cancel region... on "some"
>C/*C++* implementation that DOESN'T invoke catch(...) handlers on thread
>cancellation (or exit)... and this IS "industry practice" (AIX, Solaris,
>pthreads-win32/non-VCE, probably z/OS, etc.), nowadays, BTW. ;-) ;-)
which, of course, means you can never do exception safe things in such an os
>regards,
>alexander.
>
>
>_______________________________________________
>Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Victor A. Wagner Jr. http://rudbek.com
PGP RSA fingerprint = 4D20 EBF6 0101 B069 3817 8DBF C846 E47A
PGP D-H fingerprint = 98BC 65E3 1A19 43EC 3908 65B9 F755 E6F4 63BB 9D93
The five most dangerous words in the English language:
"There oughta be a law"
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk