From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ross Johnson To: Fred Forester Cc: Pthreads Developers List Subject: C++ cleanup handler execution Date: Wed, 05 Jan 2000 17:35:00 -0000 Message-id: References: <000601bf578e$3c89a750$208e08d0@fflaptop> X-SW-Source: 2000/msg00004.html 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 | +--------------------------+