delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin-developers/1998/06/29/08:20:18

From: ian AT cygnus DOT com (Ian Lance Taylor)
Subject: Re: vfork in cygwin32
29 Jun 1998 08:20:18 -0700 :
Message-ID: <199806291509.LAA12574.cygnus.cygwin32.developers@subrogation.cygnus.com>
References: <199806290739 DOT AAA20061 AT dlsun342 DOT oracle DOT com>
To: schandra AT dlsun342 DOT us DOT oracle DOT com
Cc: cygwin32-developers AT cygnus DOT com, schandra AT dlsun342 DOT us DOT oracle DOT com

   Date: Mon, 29 Jun 1998 00:39:24 -0700
   From: schandra AT dlsun342 DOT us DOT oracle DOT com (Sashikanth Chandrasekaran)

   vfork appears to be a simple wrapper over fork(). However, as per the
   vfork man page, the child process uses the parent's memory. Your
   implementation will obviously work when vfork is used as a faster fork
   because it will yield the correct behavior.  However, it is possible to
   write a program that uses vfork that gives differeent results on unix
   than on nt+cygwin32 library. Please let me know if my understanding is
   correct.

Your understanding is basically correct.

However, use of vfork as anything other than a faster fork has always
been frowned upon.  Most modern Unix systems use copy on write when
implementing fork, and implement vfork simply as fork.  Using vfork as
anything other than a fast fork has never been portable, and there is
no reason for cygwin32 to emulate it.

Ian

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019