TIP: Click on subject to list as thread! ANSI
echo: os2prog
to: Paul Edwards
from: Jonathan de Boyne Pollard
date: 1995-11-01 10:57:04
subject: Knives And Forks

PE>
  > I know it's missing fork(), so it can't be too good at posix.
PE>

  For portability, I always recommend spawn*() over fork().

  Why ?

  Because fork() is expensive to implement on operating systems that use
  the "spawn" model (this includes almost all of them, from PC-DOS
  through OS/2 to several mainframe operating systems), whereas
  implementing spawn*() over fork/exec for operating systems that use
  the "fork" model (UNIX, essentially) as a library is relatively
  trivial and inexpensive.

  Almost all uses of fork() are part of a fork/exec sequence, which is
  merely spawn() in disguise anyway.

  The exceptions are system utilities that manipulate the user or group
  ID, which are usually non-portable anyway (most of the PC operating
  systems apply user IDs to the entire machine instead of to individual
  processes), and server processes that fork off copies of themselves to
  do work, which is a situation crying out for proper use of threads.

  > JdeBP <
___
 X MegaMail 2.10 #0:
--- Maximus/2 3.00
* Origin: DoNoR/2,Woking UK (44-1483-725167) (2:440/4)
SEEN-BY: 270/101 620/243 711/401 409 410 413 430 807 808 809 934 955 712/407
SEEN-BY: 712/515 517 628 713/888 800/1 7877/2809
@PATH: 440/4 141/209 270/101 712/515 711/808 809 934

SOURCE: echomail via fidonet.ozzmosis.com

Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.