Current POSIX standard requires fork() to be async-signal safe. Neither our implementation, nor implementations in other operating systems are, and practically it is impossible to make fork() async-signal safe without too much efforts. Also, that would put undue requirement that all atfork handlers should be async-signal safe as well, which contradicts its main use. As result, Austin Group dropped the requirement, and added a new function _Fork() that should be async-signal safe, but it does not call atfork handlers. Basically, _Fork() can be implemented as a raw syscall. Release of glibc 2.34 added _Fork(), do the same for FreeBSD. Clarify threading behavior for fork() in the manpage. Reviewed by: markj Sponsored by: The FreeBSD Foundation MFC after: 2 weeks Differential revision: https://reviews.freebsd.org/D31378 |
||
---|---|---|
.. | ||
arpa | ||
gssapi | ||
protocols | ||
rpc | ||
rpcsvc | ||
xlocale | ||
_ctype.h | ||
a.out.h | ||
ar.h | ||
assert.h | ||
bitstring.h | ||
complex.h | ||
cpio.h | ||
ctype.h | ||
db.h | ||
dirent.h | ||
dlfcn.h | ||
elf-hints.h | ||
elf.h | ||
err.h | ||
fmtmsg.h | ||
fnmatch.h | ||
fstab.h | ||
fts.h | ||
ftw.h | ||
getopt.h | ||
glob.h | ||
grp.h | ||
gssapi.h | ||
hesiod.h | ||
iconv.h | ||
ieeefp.h | ||
ifaddrs.h | ||
inttypes.h | ||
iso646.h | ||
kenv.h | ||
langinfo.h | ||
libgen.h | ||
limits.h | ||
link.h | ||
locale.h | ||
Makefile | ||
Makefile.depend | ||
malloc_np.h | ||
malloc.h | ||
memory.h | ||
mk-osreldate.sh | ||
monetary.h | ||
mpool.h | ||
mqueue.h | ||
ndbm.h | ||
netconfig.h | ||
netdb.h | ||
nl_types.h | ||
nlist.h | ||
nss.h | ||
nsswitch.h | ||
paths.h | ||
printf.h | ||
proc_service.h | ||
pthread_np.h | ||
pthread.h | ||
pwd.h | ||
ranlib.h | ||
readpassphrase.h | ||
regex.h | ||
res_update.h | ||
resolv.h | ||
runetype.h | ||
search.h | ||
semaphore.h | ||
setjmp.h | ||
signal.h | ||
spawn.h | ||
stab.h | ||
stdalign.h | ||
stdbool.h | ||
stddef.h | ||
stdio.h | ||
stdlib.h | ||
stdnoreturn.h | ||
string.h | ||
stringlist.h | ||
strings.h | ||
sysexits.h | ||
tar.h | ||
termios.h | ||
tgmath.h | ||
time.h | ||
timeconv.h | ||
timers.h | ||
ttyent.h | ||
uchar.h | ||
ulimit.h | ||
unistd.h | ||
unwind.h | ||
utime.h | ||
utmpx.h | ||
uuid.h | ||
varargs.h | ||
wchar.h | ||
wctype.h | ||
wordexp.h | ||
xlocale.h |