delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin-developers/2001/04/21/20:15:07

Mailing-List: contact cygwin-developers-help AT sourceware DOT cygnus DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-developers-subscribe AT sources DOT redhat DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin-developers/>
List-Post: <mailto:cygwin-developers AT sources DOT redhat DOT com>
List-Help: <mailto:cygwin-developers-help AT sources DOT redhat DOT com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-developers-owner AT sources DOT redhat DOT com
Delivered-To: mailing list cygwin-developers AT sources DOT redhat DOT com
Message-ID: <014701c0cac1$43675c00$0200a8c0@lifelesswks>
From: "Robert Collins" <robert DOT collins AT itdomain DOT com DOT au>
To: "Robert Collins" <robert DOT collins AT itdomain DOT com DOT au>,
<cygwin-developers AT cygwin DOT com>, <newlib AT sources DOT redhat DOT com>
References: <987861904 DOT 20126 DOT ezmlm AT sources DOT redhat DOT com> <3AE1C5B2 DOT B63F2B54 AT ece DOT gatech DOT edu> <20010421192518 DOT E4033 AT redhat DOT com> <012701c0cac0$ebd4d760$0200a8c0 AT lifelesswks>
Subject: Re: vfscanf in newlib
Date: Sun, 22 Apr 2001 10:14:55 +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: 22 Apr 2001 00:06:58.0118 (UTC) FILETIME=[25AFBE60:01C0CAC0]

----- Original Message -----
From: "Robert Collins" <robert DOT collins AT itdomain DOT com DOT au>
To: <cygwin-developers AT cygwin DOT com>; <newlib AT sources DOT redhat DOT com>
Sent: Sunday, April 22, 2001 10:12 AM
Subject: Re: vfscanf in newlib


> ----- Original Message -----
> From: "Christopher Faylor" <cgf AT redhat DOT com>
> To: <cygwin-developers-digest-help AT cygwin DOT com>;
> <cygwin-developers AT cygwin DOT com>; <newlib AT sources DOT redhat DOT com>
> Sent: Sunday, April 22, 2001 9:25 AM
> Subject: Re: vfscanf in newlib
>
>
> > On Sat, Apr 21, 2001 at 01:38:58PM -0400, Charles S. Wilson wrote:
> > >Didn't somebody already do a threadsafeness audit of newlib?  If
so,
> > >then we don't want to break threadsafeness with these changes.  I'm
> not
> > >familiar with threaded code in C; what is neccessary to insure that
a
> > >given function is both reentrant and threadsafe (if a block of code
> is
> > >threadsafe it is automatically reentrant, but a reentrant block is
> not
> > >necessarily threadsafe, right?)
>
> Correct. re-entrant code does not uses passed parameters, read-only
data
> and local-nonstatic variables only. Any exceptions to that list are

Typo! "only uses"

> protected by mutex's/critical sections and the like. Essentially
calling
> the same function while another process or thread is paused within it
> won't cause problems. Threadsafe adds the requirement that concurrent
> processing of the code (say on two threads executing on two
processors)
> will not cause problems. This generally involves syncronising all
access
> to non-local variables (in addition to the reentrant requirements).
> (Syncronisation can be as simple as using InterLockedExchange when
> adding to a list, or as complex as mutex and condition vars with
> trylock()s and more.)
>
> > That's right.
> >
> > AFAIK, newlib is not guaranteed to be thread safe.
> >
> > So, I guess that Cygwin is, by extension, not really thread safe
> either.
> >
> > I can think of a few functions in cygwin that are not thread safe,
in
> > fact.  The enviroment manipulation is not thread-safe.  I don't
> believe
> > that vfork is thread safe.  I'm sure that there are many others.
>
> Well the SUS doesn't require libc to be thread-safe. It only requires
> the thread-safe functions (not all of which are named _r) to be
> threadsafe. IMO we should only introduce _r versions of functions when
t
> hey are thread-safe.
>
> Rob
>
> >
> > cgf
> >
>
>

- Raw text -


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