ken@gvax.cs.cornell.edu (Ken Birman) (02/01/90)
>From sechrest@dip.eecs.umich.edu Wed Jan 31 22:02:04 1990 >Date: Wed, 31 Jan 90 21:59:42 EST >From: sechrest@dip.eecs.umich.edu (Stuart Sechrest) >Message-Id: <9002010259.AA17387@dip.eecs.umich.edu> >Ken, > The definition of isis_dofork() for the MIPS machine doesn't >seem to work. I have the following definition in clibs/cl_isis.c: > isis_dofork() > { > #if (HPUX|SUN|VAX) > return(fork()); > #else > return(vfork()); > #endif > } >Returning from a subroutine that calls vfork() seems to screw up the stack >pointer. This is something that is warned against in the man page for >VFORK(2).... Yes, this is clearly a bug and might affect any non HPUX/SUN/VAX systems running under ISIS. I suggest that users with software running on a MIPS machine or some other architecture not in this list eliminate isis_dofork and add the following macro definition in isis.h: #if (HPUX|SUN|VAX) # define isis_dofork() fork() #else # define isis_dofork() vfork() #endif I'll make this change in ISIS V2.0 too. Thanks!