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>