Mailing-List: contact cygwin-developers-help AT sourceware DOT cygnus DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-developers-owner AT sources DOT redhat DOT com Delivered-To: mailing list cygwin-developers AT sources DOT redhat DOT com Date: Tue, 11 Sep 2001 12:39:37 -0400 From: Jason Tishler To: Robert Collins , nhv AT cape DOT com, cygwin-developers AT cygwin DOT com, gsmith AT nc DOT rr DOT com Subject: Re: fork and mutexs Message-ID: <20010911123937.C1752@dothill.com> Mail-Followup-To: Robert Collins , nhv AT cape DOT com, cygwin-developers AT cygwin DOT com, gsmith AT nc DOT rr DOT com Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="cL1L9IsW19uYFhL4" Content-Disposition: inline In-Reply-To: <20010911123801.B1752@dothill.com> User-Agent: Mutt/1.3.18i --cL1L9IsW19uYFhL4 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Rob, On Tue, Sep 11, 2001 at 12:38:01PM -0400, Jason Tishler wrote: > [snip] I forgot the patch! Sigh... Thanks, Jason --cL1L9IsW19uYFhL4 Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="thread.cc.diff" Index: thread.cc =================================================================== RCS file: /cvs/src/src/winsup/cygwin/thread.cc,v retrieving revision 1.46 diff -u -p -r1.46 thread.cc --- thread.cc 2001/09/11 11:23:41 1.46 +++ thread.cc 2001/09/11 16:03:55 @@ -533,7 +533,10 @@ pthread_cond::fixup_after_fork () if (!win32_obj_id) api_fatal("failed to create new win32 mutex\n"); if (waiting) - api_fatal("Forked() while a condition variable has waiting threads.\nReport to cygwin AT cygwin DOT com\n"); + { + waiting = 0; + fprintf(stderr, "*** Forked() while a condition variable has waiting threads.\nReport to cygwin AT cygwin DOT com\n"); + } } @@ -663,7 +666,10 @@ pthread_mutex::fixup_after_fork () if (!win32_obj_id) api_fatal("pthread_mutex::fixup_after_fork() failed to create new win32 mutex\n"); if (condwaits) - api_fatal("Forked() while a mutex has condition variables waiting on it.\nReport to cygwin AT cygwin DOT com\n"); + { + condwaits = 0; + fprintf(stderr, "*** Forked() while a mutex has condition variables waiting on it.\nReport to cygwin AT cygwin DOT com\n"); + } } pthread_mutexattr::pthread_mutexattr ():verifyable_object (PTHREAD_MUTEXATTR_MAGIC), --cL1L9IsW19uYFhL4--