CVS log for src/lib/libc/gen/pthread_atfork.c
Up to [cvs.NetBSD.org] / src / lib / libc / gen
Request diff between arbitrary revisions
Keyword substitution: kv
Default branch: MAIN
Revision 1.18: download - view: text, markup, annotated - select for diffs
Sat Jan 20 14:52:47 2024 UTC (11 months, 3 weeks ago) by christos
Branches: MAIN
CVS tags: perseant-exfatfs-base-20240630,
perseant-exfatfs-base,
perseant-exfatfs,
HEAD
Diff to: previous 1.17: preferred, colored
Changes since revision 1.17: +2 -5
lines
Catch up with all the lint warnings since exit on warning was disabled.
Disable 'missing header declaration' and 'nested extern' warnings for now.
Revision 1.17: download - view: text, markup, annotated - select for diffs
Tue Sep 13 10:18:47 2022 UTC (2 years, 4 months ago) by riastradh
Branches: MAIN
CVS tags: netbsd-10-base,
netbsd-10-1-RELEASE,
netbsd-10-0-RELEASE,
netbsd-10-0-RC6,
netbsd-10-0-RC5,
netbsd-10-0-RC4,
netbsd-10-0-RC3,
netbsd-10-0-RC2,
netbsd-10-0-RC1,
netbsd-10
Diff to: previous 1.16: preferred, colored
Changes since revision 1.16: +17 -10
lines
pthread_atfork(3): Block signals during the call to pthread_atfork.
This doesn't affect the calls to the atfork handlers -- it only
protects access to the lists of handlers from interruption by a
signal, in case the signal handler calls fork(2).
Revision 1.16: download - view: text, markup, annotated - select for diffs
Tue May 31 08:43:13 2022 UTC (2 years, 7 months ago) by andvar
Branches: MAIN
Diff to: previous 1.15: preferred, colored
Changes since revision 1.15: +3 -3
lines
fix various typos in comments, documentation and messages.
Revision 1.15: download - view: text, markup, annotated - select for diffs
Fri May 15 14:37:21 2020 UTC (4 years, 8 months ago) by joerg
Branches: MAIN
CVS tags: cjep_sun2x-base1,
cjep_sun2x-base,
cjep_sun2x,
cjep_staticlib_x-base1,
cjep_staticlib_x-base,
cjep_staticlib_x
Diff to: previous 1.14: preferred, colored
Changes since revision 1.14: +6 -2
lines
Hook up proper fork lock handling for malloc:
- lock all relevant mutexes just before fork
- unlock all mutexes just after fork in the parent
- full reinit non-spinlocks in the child
This is not using the normal pthread_atfork interface to ensure order of
operation, malloc is used as implementation detail too often.
Revision 1.10.18.1: download - view: text, markup, annotated - select for diffs
Wed May 13 18:08:38 2020 UTC (4 years, 8 months ago) by martin
Branches: netbsd-9
CVS tags: netbsd-9-4-RELEASE,
netbsd-9-3-RELEASE,
netbsd-9-2-RELEASE,
netbsd-9-1-RELEASE
Diff to: previous 1.10: preferred, colored; next MAIN 1.11: preferred, colored
Changes since revision 1.10: +10 -3
lines
Pull up following revision(s) (requested by chs in ticket #907):
libexec/ld.elf_so/rtld.c: revision 1.205
libexec/ld.elf_so/rtld.h: revision 1.140
libexec/ld.elf_so/symbols.map: revision 1.3
libexec/ld.elf_so/symbols.map: revision 1.4
lib/libc/gen/pthread_atfork.c: revision 1.13
lib/libc/gen/pthread_atfork.c: revision 1.14
libexec/ld.elf_so/rtld.h: revision 1.139
libexec/ld.elf_so/rtld.c: revision 1.204
Introduce intermediate locking for fork, so that the dynamic linker is
in a consistent state. This most importantly avoids races between dlopen
and friends and fork, potentially resulting in dead locks in the child
when it itself tries to acquire locks.
Rename __atomic_fork to __locked_fork and give it &errno as argument.
rtld and libc use different storage, so the initial version would
incorrectly report the failure reason for fork().
There is still a small race condition inside ld.elf_so as it doesn't use
thread-safe errno internally, but that's a more contained internal
issue.
Revision 1.10.16.1: download - view: text, markup, annotated - select for diffs
Tue Apr 21 18:41:59 2020 UTC (4 years, 8 months ago) by martin
Branches: phil-wifi
Diff to: previous 1.10: preferred, colored; next MAIN 1.11: preferred, colored
Changes since revision 1.10: +10 -3
lines
Sync with HEAD
Revision 1.14: download - view: text, markup, annotated - select for diffs
Sun Apr 19 01:06:15 2020 UTC (4 years, 8 months ago) by joerg
Branches: MAIN
CVS tags: phil-wifi-20200421
Diff to: previous 1.13: preferred, colored
Changes since revision 1.13: +5 -5
lines
Rename __atomic_fork to __locked_fork and give it &errno as argument.
rtld and libc use different storage, so the initial version would
incorrectly report the failure reason for fork().
There is still a small race condition inside ld.elf_so as it doesn't use
thread-safe errno internally, but that's a more contained internal
issue.
Revision 1.13: download - view: text, markup, annotated - select for diffs
Thu Apr 16 14:39:58 2020 UTC (4 years, 8 months ago) by joerg
Branches: MAIN
Diff to: previous 1.12: preferred, colored
Changes since revision 1.12: +10 -3
lines
Introduce intermediate locking for fork, so that the dynamic linker is
in a consistent state. This most importantly avoids races between dlopen
and friends and fork, potentially resulting in dead locks in the child
when it itself tries to acquire locks.
Revision 1.12: download - view: text, markup, annotated - select for diffs
Sat Feb 1 18:14:16 2020 UTC (4 years, 11 months ago) by kamil
Branches: MAIN
CVS tags: phil-wifi-20200411,
phil-wifi-20200406,
is-mlppp-base,
is-mlppp
Diff to: previous 1.11: preferred, colored
Changes since revision 1.11: +3 -16
lines
Revert previous
'git grep' breaks now.
Revision 1.11: download - view: text, markup, annotated - select for diffs
Sat Feb 1 15:38:46 2020 UTC (4 years, 11 months ago) by kamil
Branches: MAIN
Diff to: previous 1.10: preferred, colored
Changes since revision 1.10: +18 -5
lines
Switch atform allocations from malloc()+free() to mmap()+munmap()
This avoid bootstrapping malloc too early when libc+libpthread are not
ready. It is called through pthread__init() -> _pthread_atfork().
This also helps LLVM Leak Sanitizer to pacify false positive reports.
Revision 1.10: download - view: text, markup, annotated - select for diffs
Tue Jan 20 18:31:25 2015 UTC (9 years, 11 months ago) by christos
Branches: MAIN
CVS tags: prg-localcount2-base3,
prg-localcount2-base2,
prg-localcount2-base1,
prg-localcount2-base,
prg-localcount2,
phil-wifi-base,
phil-wifi-20191119,
phil-wifi-20190609,
pgoyette-localcount-base,
pgoyette-localcount-20170426,
pgoyette-localcount-20170320,
pgoyette-localcount-20170107,
pgoyette-localcount-20161104,
pgoyette-localcount-20160806,
pgoyette-localcount-20160726,
pgoyette-localcount,
pgoyette-compat-merge-20190127,
pgoyette-compat-base,
pgoyette-compat-20190127,
pgoyette-compat-20190118,
pgoyette-compat-1226,
pgoyette-compat-1126,
pgoyette-compat-1020,
pgoyette-compat-0930,
pgoyette-compat-0906,
pgoyette-compat-0728,
pgoyette-compat-0625,
pgoyette-compat-0521,
pgoyette-compat-0502,
pgoyette-compat-0422,
pgoyette-compat-0415,
pgoyette-compat-0407,
pgoyette-compat-0330,
pgoyette-compat-0322,
pgoyette-compat-0315,
pgoyette-compat,
perseant-stdc-iso10646-base,
perseant-stdc-iso10646,
netbsd-9-base,
netbsd-9-0-RELEASE,
netbsd-9-0-RC2,
netbsd-9-0-RC1,
netbsd-8-base,
netbsd-8-3-RELEASE,
netbsd-8-2-RELEASE,
netbsd-8-1-RELEASE,
netbsd-8-1-RC1,
netbsd-8-0-RELEASE,
netbsd-8-0-RC2,
netbsd-8-0-RC1,
netbsd-8,
matt-nb8-mediatek-base,
matt-nb8-mediatek,
localcount-20160914,
bouyer-socketcan-base1,
bouyer-socketcan-base,
bouyer-socketcan
Branch point for: phil-wifi,
netbsd-9
Diff to: previous 1.9: preferred, colored
Changes since revision 1.9: +4 -2
lines
Fix non _REENTRANT build.
Revision 1.8.4.1: download - view: text, markup, annotated - select for diffs
Tue Apr 17 00:05:19 2012 UTC (12 years, 9 months ago) by yamt
Branches: yamt-pagecache
CVS tags: yamt-pagecache-tag8
Diff to: previous 1.8: preferred, colored; next MAIN 1.9: preferred, colored
Changes since revision 1.8: +3 -3
lines
sync with head
Revision 1.9: download - view: text, markup, annotated - select for diffs
Tue Mar 20 16:36:05 2012 UTC (12 years, 9 months ago) by matt
Branches: MAIN
CVS tags: yamt-pagecache-base9,
yamt-pagecache-base8,
yamt-pagecache-base7,
yamt-pagecache-base6,
yamt-pagecache-base5,
yamt-pagecache-base4,
tls-maxphys-base,
tls-maxphys,
tls-earlyentropy-base,
tls-earlyentropy,
riastradh-xf86-video-intel-2-7-1-pre-2-21-15,
riastradh-drm2-base3,
riastradh-drm2-base2,
riastradh-drm2-base1,
riastradh-drm2-base,
riastradh-drm2,
netbsd-7-nhusb-base-20170116,
netbsd-7-nhusb-base,
netbsd-7-nhusb,
netbsd-7-base,
netbsd-7-2-RELEASE,
netbsd-7-1-RELEASE,
netbsd-7-1-RC2,
netbsd-7-1-RC1,
netbsd-7-1-2-RELEASE,
netbsd-7-1-1-RELEASE,
netbsd-7-1,
netbsd-7-0-RELEASE,
netbsd-7-0-RC3,
netbsd-7-0-RC2,
netbsd-7-0-RC1,
netbsd-7-0-2-RELEASE,
netbsd-7-0-1-RELEASE,
netbsd-7-0,
netbsd-7,
agc-symver-base,
agc-symver
Diff to: previous 1.8: preferred, colored
Changes since revision 1.8: +3 -3
lines
Use C89 definitions.
Remove use of __P
Revision 1.7.2.1: download - view: text, markup, annotated - select for diffs
Sun May 18 12:30:15 2008 UTC (16 years, 8 months ago) by yamt
Branches: yamt-pf42
Diff to: previous 1.7: preferred, colored; next MAIN 1.8: preferred, colored
Changes since revision 1.7: +2 -9
lines
sync with head.
Revision 1.8.8.2: download - view: text, markup, annotated - select for diffs
Mon Apr 28 20:23:00 2008 UTC (16 years, 8 months ago) by martin
Branches: christos-time_t
Diff to: previous 1.8.8.1: preferred, colored; branchpoint 1.8: preferred, colored; next MAIN 1.9: preferred, colored
Changes since revision 1.8.8.1: +203 -0
lines
Remove clause 3 and 4 from TNF licenses
Revision 1.8.8.1
Mon Apr 28 20:22:59 2008 UTC (16 years, 8 months ago) by martin
Branches: christos-time_t
FILE REMOVED
Changes since revision 1.8: +0 -203
lines
file pthread_atfork.c was added on branch christos-time_t on 2008-04-28 20:23:00 +0000
Revision 1.8: download - view: text, markup, annotated - select for diffs
Mon Apr 28 20:22:59 2008 UTC (16 years, 8 months ago) by martin
Branches: MAIN
CVS tags: yamt-pf42-base4,
yamt-pf42-base3,
yamt-pf42-base2,
yamt-pagecache-base3,
yamt-pagecache-base2,
yamt-pagecache-base,
wrstuden-revivesa-base-3,
wrstuden-revivesa-base-2,
wrstuden-revivesa-base-1,
wrstuden-revivesa-base,
wrstuden-revivesa,
netbsd-6-base,
netbsd-6-1-RELEASE,
netbsd-6-1-RC4,
netbsd-6-1-RC3,
netbsd-6-1-RC2,
netbsd-6-1-RC1,
netbsd-6-1-5-RELEASE,
netbsd-6-1-4-RELEASE,
netbsd-6-1-3-RELEASE,
netbsd-6-1-2-RELEASE,
netbsd-6-1-1-RELEASE,
netbsd-6-1,
netbsd-6-0-RELEASE,
netbsd-6-0-RC2,
netbsd-6-0-RC1,
netbsd-6-0-6-RELEASE,
netbsd-6-0-5-RELEASE,
netbsd-6-0-4-RELEASE,
netbsd-6-0-3-RELEASE,
netbsd-6-0-2-RELEASE,
netbsd-6-0-1-RELEASE,
netbsd-6-0,
netbsd-6,
netbsd-5-base,
netbsd-5-2-RELEASE,
netbsd-5-2-RC1,
netbsd-5-2-3-RELEASE,
netbsd-5-2-2-RELEASE,
netbsd-5-2-1-RELEASE,
netbsd-5-2,
netbsd-5-1-RELEASE,
netbsd-5-1-RC4,
netbsd-5-1-RC3,
netbsd-5-1-RC2,
netbsd-5-1-RC1,
netbsd-5-1-5-RELEASE,
netbsd-5-1-4-RELEASE,
netbsd-5-1-3-RELEASE,
netbsd-5-1-2-RELEASE,
netbsd-5-1-1-RELEASE,
netbsd-5-1,
netbsd-5-0-RELEASE,
netbsd-5-0-RC4,
netbsd-5-0-RC3,
netbsd-5-0-RC2,
netbsd-5-0-RC1,
netbsd-5-0-2-RELEASE,
netbsd-5-0-1-RELEASE,
netbsd-5-0,
netbsd-5,
matt-premerge-20091211,
matt-nb6-plus-nbase,
matt-nb6-plus-base,
matt-nb6-plus,
matt-nb5-pq3-base,
matt-nb5-pq3,
matt-nb5-mips64-u2-k2-k4-k7-k8-k9,
matt-nb5-mips64-u1-k1-k5,
matt-nb5-mips64-premerge-20101231,
matt-nb5-mips64-premerge-20091211,
matt-nb5-mips64-k15,
matt-nb5-mips64,
matt-nb4-mips64-k7-u2a-k9b,
matt-mips64-premerge-20101231,
matt-mips64-base2,
jym-xensuspend-nbase,
jym-xensuspend-base,
jym-xensuspend,
hpcarm-cleanup-nbase,
christos-time_t-nbase,
christos-time_t-base,
cherry-xenmp-base,
cherry-xenmp,
bouyer-quota2-nbase,
bouyer-quota2-base,
bouyer-quota2
Branch point for: yamt-pagecache,
christos-time_t
Diff to: previous 1.7: preferred, colored
Changes since revision 1.7: +2 -9
lines
Remove clause 3 and 4 from TNF licenses
Revision 1.6.2.1: download - view: text, markup, annotated - select for diffs
Mon Mar 24 07:14:44 2008 UTC (16 years, 9 months ago) by keiichi
Branches: keiichi-mipv6
Diff to: previous 1.6: preferred, colored; next MAIN 1.7: preferred, colored
Changes since revision 1.6: +33 -10
lines
sync with head.
Revision 1.5.10.2: download - view: text, markup, annotated - select for diffs
Sun Mar 23 00:40:25 2008 UTC (16 years, 9 months ago) by matt
Branches: matt-armv6
Diff to: previous 1.5.10.1: preferred, colored; branchpoint 1.5: preferred, colored; next MAIN 1.6: preferred, colored
Changes since revision 1.5.10.1: +33 -10
lines
sync with HEAD
Revision 1.7: download - view: text, markup, annotated - select for diffs
Fri Mar 7 17:56:39 2008 UTC (16 years, 10 months ago) by ad
Branches: MAIN
CVS tags: yamt-pf42-baseX,
yamt-pf42-base,
matt-armv6-nbase,
keiichi-mipv6-base
Branch point for: yamt-pf42
Diff to: previous 1.6: preferred, colored
Changes since revision 1.6: +33 -10
lines
Keep one builtin slot so that pthread initialization doesn't need to use
malloc().
Revision 1.5.10.1: download - view: text, markup, annotated - select for diffs
Wed Jan 9 01:34:07 2008 UTC (17 years ago) by matt
Branches: matt-armv6
Diff to: previous 1.5: preferred, colored
Changes since revision 1.5: +5 -5
lines
sync with HEAD
Revision 1.6: download - view: text, markup, annotated - select for diffs
Fri Dec 14 19:51:37 2007 UTC (17 years, 1 month ago) by yamt
Branches: MAIN
CVS tags: matt-armv6-base,
hpcarm-cleanup-base
Branch point for: keiichi-mipv6
Diff to: previous 1.5: preferred, colored
Changes since revision 1.5: +5 -5
lines
fix indentation.
Revision 1.5: download - view: text, markup, annotated - select for diffs
Tue Sep 13 01:44:09 2005 UTC (19 years, 4 months ago) by christos
Branches: MAIN
CVS tags: wrstuden-fixsa-newbase,
wrstuden-fixsa-base-1,
wrstuden-fixsa-base,
wrstuden-fixsa,
netbsd-4-base,
netbsd-4-0-RELEASE,
netbsd-4-0-RC5,
netbsd-4-0-RC4,
netbsd-4-0-RC3,
netbsd-4-0-RC2,
netbsd-4-0-RC1,
netbsd-4-0-1-RELEASE,
netbsd-4-0,
netbsd-4,
matt-mips64-base,
matt-mips64,
matt-armv6-prevmlocking,
hpcarm-cleanup,
cube-autoconf-base,
cube-autoconf,
abandoned-netbsd-4-base,
abandoned-netbsd-4
Branch point for: matt-armv6
Diff to: previous 1.4: preferred, colored
Changes since revision 1.4: +2 -4
lines
compat core reorg.
Revision 1.3.2.1: download - view: text, markup, annotated - select for diffs
Sat Jun 11 12:15:25 2005 UTC (19 years, 7 months ago) by tron
Branches: netbsd-3
CVS tags: netbsd-3-1-RELEASE,
netbsd-3-1-RC4,
netbsd-3-1-RC3,
netbsd-3-1-RC2,
netbsd-3-1-RC1,
netbsd-3-1-1-RELEASE,
netbsd-3-1,
netbsd-3-0-RELEASE,
netbsd-3-0-RC6,
netbsd-3-0-RC5,
netbsd-3-0-RC4,
netbsd-3-0-RC3,
netbsd-3-0-RC2,
netbsd-3-0-RC1,
netbsd-3-0-3-RELEASE,
netbsd-3-0-2-RELEASE,
netbsd-3-0-1-RELEASE,
netbsd-3-0
Diff to: previous 1.3: preferred, colored; next MAIN 1.4: preferred, colored
Changes since revision 1.3: +4 -2
lines
Pull up revision 1.4 (requested by lukem in ticket #394):
Ensure that we don't try to free random memory when another malloc fails,
by initializing newprepare, newparent, and newchild to NULL.
Detected by gcc -Wuninitialized.
Revision 1.4: download - view: text, markup, annotated - select for diffs
Wed Jun 1 05:30:54 2005 UTC (19 years, 7 months ago) by lukem
Branches: MAIN
Diff to: previous 1.3: preferred, colored
Changes since revision 1.3: +4 -2
lines
Ensure that we don't try to free random memory when another malloc fails,
by initializing newprepare, newparent, and newchild to NULL.
Detected by gcc -Wuninitialized.
Revision 1.3: download - view: text, markup, annotated - select for diffs
Thu Oct 21 06:46:36 2004 UTC (20 years, 2 months ago) by lukem
Branches: MAIN
CVS tags: netbsd-3-base
Branch point for: netbsd-3
Diff to: previous 1.2: preferred, colored
Changes since revision 1.2: +4 -3
lines
minor KNF, making it easier to find where fork() is implemented
Revision 1.2: download - view: text, markup, annotated - select for diffs
Mon Apr 7 21:09:57 2003 UTC (21 years, 9 months ago) by nathanw
Branches: MAIN
CVS tags: netbsd-2-base,
netbsd-2-1-RELEASE,
netbsd-2-1-RC6,
netbsd-2-1-RC5,
netbsd-2-1-RC4,
netbsd-2-1-RC3,
netbsd-2-1-RC2,
netbsd-2-1-RC1,
netbsd-2-1,
netbsd-2-0-base,
netbsd-2-0-RELEASE,
netbsd-2-0-RC5,
netbsd-2-0-RC4,
netbsd-2-0-RC3,
netbsd-2-0-RC2,
netbsd-2-0-RC1,
netbsd-2-0-3-RELEASE,
netbsd-2-0-2-RELEASE,
netbsd-2-0-1-RELEASE,
netbsd-2-0,
netbsd-2
Diff to: previous 1.1: preferred, colored
Changes since revision 1.1: +5 -5
lines
Oops, make the atfork queues static so they don't pollute the
namespace.
Revision 1.1: download - view: text, markup, annotated - select for diffs
Thu Feb 13 02:50:51 2003 UTC (21 years, 11 months ago) by nathanw
Branches: MAIN
Implement pthread_atfork() (in libc, because the required threadlib
stub behavior is exactly the same as the usual behavior).
CVSweb <webmaster@jp.NetBSD.org>