Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 18 May 1997 15:20:03 -0700 (MST)
From:      Terry Lambert <terry@lambert.org>
To:        deischen@iworks.InterWorks.org (Daniel M. Eischen)
Cc:        jb@freebsd1.cimlogic.com.au, freebsd-hackers@FreeBSD.ORG
Subject:   Re: GNAT-pthreads integration bugs/questions
Message-ID:  <199705182220.PAA22876@phaeton.artisoft.com>
In-Reply-To: <199705180700.CAA20456@iworks.InterWorks.org> from "Daniel M. Eischen" at May 18, 97 02:00:19 am

next in thread | previous in thread | raw e-mail | index | archive | help
> A couple things I can't do with rfork (or don't know how to do using
> other mechanisms) is to explicitly set the stack size (as in
> pthread_attr_setstacksize),

This is a bogosity of POSIX threads.  It comes from the idea that thread
stacks can't be alloed to auto-grow.  This is a stupid idea, and should
be done away with in the POSIX standard.  Preallocating a set stack
size is Just Plain Wrong(tm).

With an rfork, you will get another process with it's own stack, so
the stack auto-grows: there's no need to make the call to "set it
larger than the default" like there is with bogus implementations
of thread stacks.


> mutexes and condition variables (could use SYSV semaphores I suppose),

Yes, or socketpair() or some other blocking IPC mechanism, like the
SysV stuff.  There is a real lack of synchronization primitives in
UNIX.

> and the ability to create a key (pthread_key_create) that is specific
> to each process - like taskVarAdd() in VxWorks :-)

Why not call getpid()?


					Terry Lambert
					terry@lambert.org
---
Any opinions in this posting are my own and not those of my present
or previous employers.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199705182220.PAA22876>