From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 8836 invoked by alias); 19 Dec 2002 13:00:51 -0000 Mailing-List: contact pthreads-win32-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: pthreads-win32-owner@sources.redhat.com Received: (qmail 8813 invoked from network); 19 Dec 2002 13:00:49 -0000 Received: from unknown (HELO d12lmsgate.de.ibm.com) (194.196.100.234) by 209.249.29.67 with SMTP; 19 Dec 2002 13:00:49 -0000 Received: from d12relay02.de.ibm.com (d12relay02.de.ibm.com [9.165.215.23]) by d12lmsgate.de.ibm.com (8.12.3/8.12.3) with ESMTP id gBJD0Yt0014776 for ; Thu, 19 Dec 2002 14:00:34 +0100 Received: from d12ml007.de.ibm.com (d12ml007_cs0 [9.165.223.36]) by d12relay02.de.ibm.com (8.12.3/NCO/VER6.4) with ESMTP id gBJD0YoN214292 for ; Thu, 19 Dec 2002 14:00:34 +0100 Importance: Normal Sensitivity: Subject: RE: Cancellation points To: pthreads-win32@sources.redhat.com Message-ID: From: "Alexander Terekhov" Date: Thu, 19 Dec 2002 05:00:00 -0000 MIME-Version: 1.0 Content-type: text/plain; charset=us-ascii X-SW-Source: 2002/txt/msg00127.txt.bz2 BTW, > pthread_setcancelstate(PTHREAD_CANCEL_DISABLE, NULL) ^^^^ that's incorrect. Don't do this. regards, alexander. Simon Gerblich @sources.redhat.com on 12/19/2002 01:28:57 AM Sent by: pthreads-win32-owner@sources.redhat.com To: pthreads-win32@sources.redhat.com cc: Subject: RE: Cancellation points Ross, I've tried the current CVS version and built the VC, VCE and VSE libraries and they all pass the test suite. Exception2.exe poped up an exception message for the VC and VSE library and printed out a message for the VCE library. My problem with pthread_mutex_lock being a cancelation point is fixed as well. I'm using Visual C++ 6.0 SP5 on Windows 2000. Thanks Simon > -----Original Message----- > From: Ross Johnson [SMTP:rpj@ise.canberra.edu.au] > Sent: Tuesday, December 17, 2002 6:44 PM > To: pthreads-win32@sources.redhat.com > Subject: Re: Cancellation points > > I've changed pthread_mutex_lock() in CVS to use a non-cancelable > version of sem_wait(). I may not be able to build or test it myself > for a day or so. Can someone grab the current CVS version, build the > library, run the test suite, and report success or failure to the > list please. > > Otherwise I'll test it myself ASAP. > > Thanks. > Ross > > Ross Johnson wrote: > > Hi Simon, > > > > Sleep() [with uppercase 'S'] is definitely not a cancelation point - > > only functions included with pthreads-win32 can be cancelation points. > > The POSIX function sleep() isn't provided by pthreads-win32 either. > > > > See the Conformance section of the ANNOUNCE file for all functions that > > have been implemented. Any of those that should be cancelation points > are. > > > > Re pthread_mutex_lock(), Thomas Pfaff discovered this bug only a few > > days ago and tracked it down (to an error of mine). I will fix it and > > drop it into CVS ASAP. > > > > Thanks. > > Ross > > > > Simon Gerblich wrote: > > > >> Hi, > >> > >> I'm having some problems working out which functions are cancellation > >> points > >> when using > >> pthread_cancel() with pthread_setcanceltype(PTHREAD_CANCEL_DEFERRED, > >> NULL). > >> I'm using pthreadsVC.dll on Windows 2000. > >> > >> Is Sleep() meant to be a cancellation point in WIN32? I've read in the > >> Solaris reference > >> manual that sleep() and usleep() are cancellation points for pthreads > on > >> Solaris, but can > >> not find a list of cancellation points for pthreads on WIN32. > >> > >> Also pthread_mutex_lock() is acting as a cancellation point in my > >> code. I > >> have to put > >> pthread_setcancelstate(PTHREAD_CANCEL_DISABLE, NULL) before my > >> calls to pthread_mutex_lock to stop it acting as a cancellation > >> point. If > >> the thread > >> cancellation occurs in a call to pthread_mutex_lock(), the mutex that > was > >> being locked > >> returns EBUSY when destroyed with pthread_mutex_destroy(). Has anyone > >> else > >> seen this happen? > >> Thanks for any help, > >> Simon Gerblich