[Info-vax] Looking into C-include files on VMS

Alan Winston - SSRL Central Computing winston at SSRL.SLAC.STANFORD.EDU
Tue Oct 27 23:15:56 EDT 2009


In article <hc87gm$rbb$00$1 at news.t-online.com>, Michael Kraemer <M.Kraemer at gsi.de> writes:
>Arne Vajhøj schrieb:
>
>> 
>> AFAIK there are no programming task that requires fork.
>> 
>> But porting code using fork to a system with no fork is
>> often a lot of work.
>> 
>> Server apps written in C for *nix frequently use fork and
>> this type of app is often relevant for VMS.
>
>But there seem to be Web servers for VMS,
>so there must be some mechanism equivalent to fork().

Fork on Unix is a mechanism that quickly and cheaply produces a hild
process with the same environment as the parent process.  

Web servers certainly need a way for a dispatcher to pass things off to 
multiple other things for execution, but they don't have to use fork.
(And many things on Unix wouldn't have to use fork, but it's cheap and 
standard, so why not?)


OSU (also known as the DECthreads server) makes extensive use of threads to 
set up multiple threads of execution with appropriate access to the
environment, and uses DECnet or mailboxes for CGI execution, which doesn't 
need the whole same environment as the server itself.

WASD uses native VMS mechanisms (not that DECthreads aren't native VMS, but I
guess I mean traditional VMS mechanisms) to get high performances, uses various
means to maintain persistent execution environments, and doesn't have to deal
with fork.

SWS/Apache has had to do something to produce a bunch of processes under
the control of a parent process, and I don't know what they did, but it 
takes a long time to do it on my DS20, like minutes.  
On the Itanium box restarts don't take very long at all.

-- Alan





More information about the Info-vax mailing list