comp.lang.ada
 help / color / mirror / Atom feed
From: Natasha Kerensikova <lithiumcat@instinctive.eu>
Subject: Semantics of POSIX Ada Binding
Date: Sat, 5 Jul 2014 16:33:28 +0000 (UTC)
Date: 2014-07-05T16:33:28+00:00	[thread overview]
Message-ID: <slrnlrga6o.i0l.lithiumcat@nat.rebma.instinctive.eu> (raw)

Hello,

I have been using Florist implementation of POSIX bindings for a while,
and been mostly happy with it. However the documentation of Florist is a
bit... terse. As far as I can tell, it amounts to "see IEEE STD 1003.5x".

However, while both Ada and POSIX standards are freely available, it
seems that versions of "IEEE STD 1003.5" are not. Or at least I have
failed to find any.

Is there a documentation somewhere that I missed?
Or are we left only with guesswork from public references?


More specifically, my current problem is about the interaction between
Ada tasking and POSIX.Process_Primitives.Start_Process, in light of the
warning about GNAT's System.OS_Lib.Spawn.

Is having Florist enough of an OS restriction to ensure things work
fine? Or is there a subtle difference in the similar implementations of
Start_Process and Spawn that ensure everything is alright?
Or is there some hard-to-find bug just waiting to spring from the
breach?

It would be nice to have some indication on the limits or caveats of
such subprograms...


Funnily, POSIX.Process_Primitives.Start_Process inspired C's
posix_spawn, which is safer and more efficient than fork+exec used in
both System.OS_Lib.Spawn and POSIX.Process_Primitives.Start_Process
implementations (no need to deep copy the full process state in fork()
when you're about to reset it anyway with exec*()).


Thanks in advance for your help,
Natasha


             reply	other threads:[~2014-07-05 16:33 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-07-05 16:33 Natasha Kerensikova [this message]
2014-07-26 10:07 ` Semantics of POSIX Ada Binding Natasha Kerensikova
2014-07-26 10:37   ` Dmitry A. Kazakov
2014-07-26 14:36   ` Dennis Lee Bieber
2014-07-27  2:32   ` Randy Brukardt
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox