Date: Sat, 26 Apr 1997 00:32:55 +1000 From: Bruce Evans <bde@zeta.org.au> To: ache@nagual.pp.ru, bde@zeta.org.au Cc: cvs-all@freebsd.org, CVS-committers@freebsd.org, cvs-usrbin@freebsd.org Subject: Re: cvs commit: src/usr.bin/vacation vacation.c Message-ID: <199704251432.AAA00549@godzilla.zeta.org.au>
next in thread | raw e-mail | index | archive | help
>It has more support than just a warnings, vfork calling function >marked and processed in the same way as setjmp calling function now >(returns twice). It looks like noop right now because we not turn >NON_SAVING_SETJMP define on. Perhaps we should turn it off for setjmp() >and on for vfork() separately. Yes, there should be a NON_SAVING_VFORK, and if nonzero values of it are supported, then the saving may need to be more complicated than for setjmp. NON_SAVING_SETJMP is for systems whose setjmp() doesn't save all the registers, perhaps because the native compiler uses a caller-saved convention so the native setjmp() doesn't need to. The native system would have to use special handling for vfork(), one of the following: 1. save registers in vfork() and don't save before call (simplest). 2. save registers before call and don't write to or free the save area until the child exits (difficult in cases that may have iterated vforks - if the stack is used then it can only be shrunk if the compiler understands the flow of control well enough to decide when the child returns!). Bruce
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199704251432.AAA00549>