This is the mail archive of the cygwin-developers mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: pthread_barrier_* API implementation


On Feb  2 13:49, VÃclav Haisman wrote:
> On 1 February 2016 at 08:38, Yaakov Selkowitz <yselkowitz@cygwin.com> wrote:
> > On 2016-02-01 00:41, VÃclav Haisman wrote:
> >>
> >> On rakudo.org ([1]) pages, I have noticed that the pthread_barrier_*
> >> POSIX API is missing from Cygwin. I took a look at NetBSD and FreeBSD
> >> implementations of it. It seemed to me that creating POSIX barrier on
> >> top of POSIX mutex and POSIX conditional variable is not that hard ([2]).
> >>
> >> Now, the question is whether this is acceptable and whether it should be
> >> part of Newlib or directly part of Cygwin?
> >
> >
> > IMO a barriers implementation would be welcome.  winsup/cygwin/thread.cc
> > would be the place for it.

ACK

> [...]
> Well, I tried and I started adding the functions into the thread.cc
> file (https://github.com/wilx/newlib-cygwin/commit/bf917b59d644eaac8fb5f72c5060bb44aa044804).
> Then I noticed I do not know where to put the necessary structures.
> Newlib headers seem to already contain some definitions of
> pthread_barrier_t and pthread_barrierattr_t. The organization of the
> source escapes me.

The Cygwin pthread implementation is (unfortunately) completely separate
from the newlib implementation.  Therefore, ignore newlib for now and
just look at the files under winsup/cygwin:

- pthread.cc was supposed to contain external API calls but has been
  widely neglected at one point.  Some rearrangement would certainly
  not hurt.

- thread.cc contains the bulk of the pthread implementation.

- thread.h contains local datatypes.

- include/pthread.h is Cygwin's pthread header for the user space.
  It completely overrides newlib's include/pthread.h.


HTH,
Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Maintainer                 cygwin AT cygwin DOT com
Red Hat

Attachment: signature.asc
Description: PGP signature


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