Re: [c++-pthreads] Restating the Jason model
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [c++-pthreads] Restating the Jason model



Alexander Terekhov wrote:

Jason Merrill wrote:
[...]
Well, yes; although it also seems better to make one new rule for the new
"thread terminating exceptions" rather than two separate new rules.
There's no way to use the same rules for both, since we can't re-assert
deferred exit.
Sure there's a way to use the same rules for both. Get rid of re-assert
for cancellation.
And it can work the other way, too. It's just as easy to re-assert exit as cancel; instead of calling pthread_cancel() on the current thread when the cancel exception is destroyed, you call pthread_exit() when the exit exception is destroyed. You'd need to retain the original exit status (void*) value, but there's no reason that can't be part of the exit exception object.

Now, whether you WANT TO or SHOULD re-assert either condition is clearly a contentious issue and not likely to be resolved any any consensus soon. But either is technically feasible if it's decided to be correct and desirable.

Just to restate, though; I DON'T think that re-asserting is "correct", but at this time I'm willing to grant that given common practice within the STL and presumably application code, it may be necessary all the same.

--
/--------------------[ David.Butenhof@xxxxxx ]--------------------\
| Hewlett-Packard Company       Tru64 UNIX & VMS Thread Architect |
|     My book: http://www.awl.com/cseng/titles/0-201-63392-2/     |
\----[ http://homepage.mac.com/dbutenhof/Threads/Threads.html ]---/