Comment when did you ever need to clone a process (Score 1) 1318
In my 12 years of using UNIXs I never had the need to clone a process. But this is one of the basic API calls. fork() that is.
I think it shows that the UNIX API is old -- it has been designed with lazyness in the background -- sure it is easy to write a piped application -- a process gets killed when trying to write to a pipe or something,
which has been closed on the other end -- but this "feature" makes it difficult to write something else which is not supposed to die when this happens.
Ever tried memory mapped io -- in UNIXs you can open the same file more than once and apply mmap() more than once and a single call to munmap() is sufficient to destroy the results of the two calls to mmap() -- this is not an API which I call up-to-date.
That I cannot open a file and lock it in the same instance is something else which ought to be basic for multi-user OS.
After I learned about the cool impersonation API in WindowsNT I don't think setuid is cool anymore.
Being able to use only a single heap inside a process is another feature which does not match 64 bit programming at all and which creates problems for people trying to run shared libraries inside the same process which load different runtime libraries.
Anyway the shared library system has only a single process-global namespace instead of namespace consisting of module name and symbol name.
Something similar to Win32 named pipe system should also be basic for a mutliuser OS -- that you have to rely on port numbers for IPC/RPC is not something I call uptodate API -- this namespace (0--65535) is to restrictive.