History log of /netbsd-src/lib/libc/gen/pthread_atfork.c (Results 1 – 18 of 18)
Revision Date Author Comments
# ace5b9b5 20-Jan-2024 christos <christos@NetBSD.org>

Catch up with all the lint warnings since exit on warning was disabled.
Disable 'missing header declaration' and 'nested extern' warnings for now.


# 7a407fff 13-Sep-2022 riastradh <riastradh@NetBSD.org>

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
si

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).

show more ...


# ff23aff6 31-May-2022 andvar <andvar@NetBSD.org>

fix various typos in comments, documentation and messages.


# 8409cf4a 15-May-2020 joerg <joerg@NetBSD.org>

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 usin

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.

show more ...


# 25a494ec 19-Apr-2020 joerg <joerg@NetBSD.org>

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 sti

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.

show more ...


# 11954c74 16-Apr-2020 joerg <joerg@NetBSD.org>

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 loc

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.

show more ...


# 31ebab19 01-Feb-2020 kamil <kamil@NetBSD.org>

Revert previous

'git grep' breaks now.


# 089c97bd 01-Feb-2020 kamil <kamil@NetBSD.org>

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_atfor

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.

show more ...


# 26ba8048 20-Jan-2015 christos <christos@NetBSD.org>

Fix non _REENTRANT build.


# cf884af3 20-Mar-2012 matt <matt@NetBSD.org>

Use C89 definitions.
Remove use of __P


# ce099b40 28-Apr-2008 martin <martin@NetBSD.org>

Remove clause 3 and 4 from TNF licenses


# 10460452 07-Mar-2008 ad <ad@NetBSD.org>

Keep one builtin slot so that pthread initialization doesn't need to use
malloc().


# b367d7f8 14-Dec-2007 yamt <yamt@NetBSD.org>

fix indentation.


# 5b84b398 13-Sep-2005 christos <christos@NetBSD.org>

compat core reorg.


# d999a324 01-Jun-2005 lukem <lukem@NetBSD.org>

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.


# 89398313 21-Oct-2004 lukem <lukem@NetBSD.org>

minor KNF, making it easier to find where fork() is implemented


# cffc057a 07-Apr-2003 nathanw <nathanw@NetBSD.org>

Oops, make the atfork queues static so they don't pollute the
namespace.


# 4fb740b8 13-Feb-2003 nathanw <nathanw@NetBSD.org>

Implement pthread_atfork() (in libc, because the required threadlib
stub behavior is exactly the same as the usual behavior).