delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2001/07/07/11:38:07

Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT sources DOT redhat DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin AT sources DOT redhat DOT com>
List-Help: <mailto:cygwin-help AT sources DOT redhat DOT com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-owner AT sources DOT redhat DOT com
Delivered-To: mailing list cygwin AT sources DOT redhat DOT com
Message-ID: <004601c106fb$1fad17c0$0200a8c0@lifelesswks>
From: "Robert Collins" <robert DOT collins AT itdomain DOT com DOT au>
To: "Julian Hall" <jules AT acris DOT co DOT uk>, <cygwin AT cygwin DOT com>
References: <3B4713A7 DOT 55AE01CB AT acris DOT co DOT uk>
Subject: Re: error in pthreads implementation?
Date: Sun, 8 Jul 2001 01:40:17 +1000
MIME-Version: 1.0
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 5.50.4133.2400
X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4133.2400
X-OriginalArrivalTime: 07 Jul 2001 15:27:31.0381 (UTC) FILETIME=[56ABD650:01C106F9]

----- Original Message -----
From: "Julian Hall" <jules AT acris DOT co DOT uk>
To: <cygwin AT cygwin DOT com>
Sent: Saturday, July 07, 2001 11:50 PM
Subject: error in pthreads implementation?


> I'm currently working on getting gcj to work properly with cygwin, and
> am working on threading code; I seem to have found a bug in the
> implementation of pthreads.h.  This is quite possibly gcc 3.0
specific,
> but when the macro pthread_cleanup_push(...) is used, I get the
> following error from the compiler:

Cancellation points haven't been implemented beyond a set of defines to
allow programs to compile... It's on my rather extensive todo list
though :]. I suspect that you may need them fully functional for java
:[. Unfortunately I don't have a timeframe for when I'll get time to
implement them, but I'm more than willing to proivde guidance if you are
interested in getting cancellation points extant.

Rob

> ../../gcc-20010702/boehm-gc/cygwin_threads.c:455: function
> `__cleanup_routine' is initialized like a variable
>
> The attached diff seems to solve the problem, although it hasn't been
> thoroughly tested.
>
> Jules
>
>


------------------------------------------------------------------------
--------


> --- pthread.h.orig Sat Jul  7 12:47:48 2001
> +++ pthread.h Sat Jul  7 12:48:04 2001
> @@ -99,11 +99,11 @@
>  /* Macros for cleanup_push and pop;
>   * The function definitions are
>  void pthread_cleanup_push (void (*routine)(void*), void *arg);
>  void pthread_cleanup_pop (int execute);
>  */
> -typedef void __cleanup_routine_type (void *);
> +typedef void (*__cleanup_routine_type) (void *);
>
>  #define pthread_cleanup_push(fn, arg) { __cleanup_routine_type
__cleanup_routine=fn; \
>  void *__cleanup_param=arg;
>  #define pthread_cleanup_pop(execute) if (execute)
__cleanup_routine(__cleanup_param); }
>
>
>


------------------------------------------------------------------------
--------


> --
> Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
> Bug reporting:         http://cygwin.com/bugs.html
> Documentation:         http://cygwin.com/docs.html
> FAQ:                   http://cygwin.com/faq/


--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019