This is the mail archive of the
pthreads-win32@sourceware.cygnus.com
mailing list for the pthreas-win32 project.
C++ cleanup handler execution
- To: Fred Forester <fforest at eticomm dot net>
- Subject: C++ cleanup handler execution
- From: Ross Johnson <rpj at ise dot canberra dot edu dot au>
- Date: Thu, 6 Jan 2000 12:35:31 +1100 (EST)
- cc: Pthreads Developers List <pthreads-win32 at sourceware dot cygnus dot com>
On Wed, 5 Jan 2000, Fred Forester wrote:
> Hi Ross,
>
> I can't use the mail list due to my ISP's spam policy.
>
> I have a version of pthreads that builds with the new MING egcs 2.9x
> w/ msvcrt. it C++ exceptions handling seems to be thread safe now.
>
> The destructor for the C++ class wraper used for cancel cleanup
> was not getting called for some reason. I replaced that with a LIFO
> stack chained from the pthread_t object. linuxthreads seem to handle
> it this way. also have gmake files for both ming and MSVC.
> can send the mess if you want to sort through it.
>
> Fred Forester
Hi Fred,
Tests to explicitly check cleanup handler execution were missing
from the test suite, which would explain why the problem hasn't been
noticed already. I've just written three more tests for this which
pass under the SEH implementation. Could you grab these from the CVS
repository and run them with your mingw build. They are called
cleanup*.c in the tests directory.
http://sourceware.cygnus.com/cgi-bin/cvsweb.cgi/pthreads/?cvsroot=pthreads-win32
I'd like to retain the C++ destructor approach and fix whatever is
causing the problem you see. I'll forward your email to the list for
comment though.
Thanks again.
Ross
+----------------------+---+
| Ross Johnson | | E-Mail: rpj@ise.canberra.edu.au
| Info Sciences and Eng|___|
| University of Canberra | FAX: +61 6 2015227
| PO Box 1 |
| Belconnen ACT 2616 | WWW: http://willow.canberra.edu.au/~rpj/
| AUSTRALIA |
+--------------------------+