This is the mail archive of the pthreads-win32@sourceware.cygnus.com mailing list for the pthreas-win32 project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

C++ cleanup handler execution


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                |
+--------------------------+



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]