* Diomidis Spinellis <[EMAIL PROTECTED]> [071217 01:04] wrote: > Alfred Perlstein wrote: > >* Diomidis Spinellis <[EMAIL PROTECTED]> [071216 09:47] wrote: > >>dds 2007-12-16 17:47:34 UTC > >> > >> FreeBSD src repository > >> > >> Modified files: > >> bin/mv mv.c > >> Log: > >> Eliminate gcc "variable clobbered" warnings by declaring the variables > >> living across the vfork as volatile. > >> > >> Noted by: kan > >> > >> Revision Changes Path > >> 1.48 +2 -1 src/bin/mv/mv.c > > > >I'm pretty sure that calling warn(3) under vfork() is not allowed > >as it can clobber stdio state. > > > >To fix this, have the parent catch a return value from the child > >and emit the warning. > > This has been there since (at least) 1994, but you're absolutely right.
...while you're there. :) > POSIX states: "[...] the behavior is undefined if the process created > by vfork() either modifies any data other than a variable of type pid_t > used to store the return value from vfork(), or returns from the > function in which vfork() was called, or calls any other function before > successfully calling _exit() or one of the exec family of functions." Yes, this is correct. > > I've fixed it in the way you suggested. Thank you very much. -Alfred _______________________________________________ [email protected] mailing list http://lists.freebsd.org/mailman/listinfo/cvs-all To unsubscribe, send any mail to "[EMAIL PROTECTED]"
