[fpc-devel] fpfork
Jonas Maebe
jonas.maebe at elis.ugent.be
Mon Feb 11 12:02:20 CET 2008
On 11 Feb 2008, at 11:52, Michael Schnell wrote:
> Questions:
> - not in all instances the difference is provided. sometimes fork()
> is done unconditionally
> - Why is fork used at all. AFAIK, all systems can do vfork() (with
> _at_least_ the same performance as fork() and thus the difference
> is not needed. Regarding the function there is a difference between
> fork() and vfork() only if exec?() is _not_ called immediately
> afterwards, which seems to be the case in the FP RTL.
In some cases memory is still allocated between the fork and the
exec. You cannot use vfork in such a case. That code still has to be
rewritten so it does not allocate any memory.
> - vfork seems to be used in BSD and SUNOS. Why just in these systems ?
Correction: it is only used on those systems if the RTL is libc-
based. And the reason is that our thread variable implementation and
its use in the syscall implementations conflicts with using vfork.
> - when doing a non-MMU (µCLinux) architecture fork is not
> available. What is the best way of handling that situation ?
> (Should we introduce a UCLINUX OS flavor ?)
Does it already have posix_spawn?
Jonas
More information about the fpc-devel
mailing list