1
0
Fork 0
mirror of https://github.com/LadybirdBrowser/ladybird.git synced 2025-06-10 18:10:56 +09:00
ladybird/Userland/Libraries/LibC
AnotherTest bb777459a0 LibC+LibPthread: Implement pthread_atfork()
This required a bit of rearchitecture, as pthread_atfork() required a
mutex, and duplicating a mutex impl for it was silly.
As such, this patch moves some standalone bits of pthread into LibC and
uses those to implement atfork().
It should be noted that for programs that don't use atfork(), this
mechanism only costs two atomic loads (as opposed to the normal mutex
lock+unlock) :^)
2021-02-15 17:32:56 +01:00
..
arpa Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
bits LibC+LibPthread: Implement pthread_atfork() 2021-02-15 17:32:56 +01:00
net Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
netinet LibC: Define ICMP header type constants in netinet/ip_icmp.h 2021-02-08 20:00:08 +01:00
sys LibC+LibPthread: Implement pthread_rwlock_* 2021-02-15 17:32:56 +01:00
alloca.h Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
assert.cpp Userland: Add LibSystem and funnel all syscalls through it 2021-02-05 12:23:39 +01:00
assert.h Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
byteswap.h Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
CMakeLists.txt LibC+LibPthread: Implement pthread_atfork() 2021-02-15 17:32:56 +01:00
crt0.cpp Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
crt0_shared.cpp Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
crti.S Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
crtn.S Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
ctype.cpp Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
ctype.h Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
cxxabi.cpp Everywhere: Replace dbgln<flag>(...) with dbgln_if(flag, ...) 2021-02-08 18:08:55 +01:00
dirent.cpp Userland: Add LibSystem and funnel all syscalls through it 2021-02-05 12:23:39 +01:00
dirent.h Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
dlfcn.cpp LibELF: Split the DynamicLoader's loading mechanism into two steps 2021-01-31 11:46:00 +01:00
dlfcn.h Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
endian.h Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
errno.h Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
errno_numbers.h Kernel+LibC: Turn errno codes into a strongly typed enum 2021-01-20 23:20:02 +01:00
fcntl.cpp Userland: Add LibSystem and funnel all syscalls through it 2021-02-05 12:23:39 +01:00
fcntl.h LibC+Everywhere: Remove open_with_path_length() in favor of open() 2021-01-12 23:34:01 +01:00
fd_set.h LibC: Bump FD_SETSIZE to 1024 2021-01-16 11:26:53 +01:00
float.h Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
getopt.cpp Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
getopt.h LibC: Expose various option variables for later usage 2021-02-01 17:13:23 +01:00
grp.cpp Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
grp.h Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
iconv.h Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
inttypes.h Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
ioctl.cpp Userland: Add LibSystem and funnel all syscalls through it 2021-02-05 12:23:39 +01:00
libcinit.cpp Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
libgen.cpp Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
libgen.h Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
limits.h LibC: Add TTY_NAME_MAX (32) 2021-01-18 22:28:56 +01:00
locale.cpp LibC: Remove FIXME spam in setlocale() 2021-02-11 23:31:56 +01:00
locale.h Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
malloc.cpp LibC: Don't honor LIBC_* malloc debugging flags in AT_SECURE context 2021-01-31 14:37:21 +01:00
mallocdefs.h Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
memory.h Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
mman.cpp Userland: Add LibSystem and funnel all syscalls through it 2021-02-05 12:23:39 +01:00
mman.h Kernel+LibC: Add MAP_RANDOMIZED flag for sys$mmap() 2021-01-28 16:23:38 +01:00
mntent.cpp LibC: Change a couple of ASSERT_NOT_REACHED() to TODO() 2021-01-17 08:43:46 +01:00
mntent.h Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
netdb.cpp LibC: Stub out some addrinfo things 2021-02-15 17:32:56 +01:00
netdb.h LibC: Stub out some addrinfo things 2021-02-15 17:32:56 +01:00
paths.h Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
poll.cpp Userland: Add LibSystem and funnel all syscalls through it 2021-02-05 12:23:39 +01:00
poll.h Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
pthread_integration.cpp LibC+LibPthread: Implement pthread_atfork() 2021-02-15 17:32:56 +01:00
pwd.cpp LibC: Add reentrant versions of getpw{uid,nam} 2021-02-15 17:32:56 +01:00
pwd.h LibC: Add reentrant versions of getpw{uid,nam} 2021-02-15 17:32:56 +01:00
qsort.cpp Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
regex.h Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
scanf.cpp Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
sched.cpp Userland: Add LibSystem and funnel all syscalls through it 2021-02-05 12:23:39 +01:00
sched.h Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
semaphore.cpp LibC: Stub out semaphore.h 2021-02-15 17:32:56 +01:00
semaphore.h LibC: Stub out semaphore.h 2021-02-15 17:32:56 +01:00
serenity.cpp Userland: Add LibSystem and funnel all syscalls through it 2021-02-05 12:23:39 +01:00
serenity.h Userland: Add LibSystem and funnel all syscalls through it 2021-02-05 12:23:39 +01:00
serenity.h.rej Kernel: Some futex improvements 2021-01-17 20:30:31 +01:00
setjmp.h Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
setjmp.S Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
signal.cpp Userland: Add LibSystem and funnel all syscalls through it 2021-02-05 12:23:39 +01:00
signal.h Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
signal_numbers.h Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
spawn.cpp Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
spawn.h Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
ssp.cpp Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
stat.cpp Userland: Add LibSystem and funnel all syscalls through it 2021-02-05 12:23:39 +01:00
stdarg.h Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
stdbool.h Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
stddef.h Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
stdint.h Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
stdio.cpp Userland: Add LibSystem and funnel all syscalls through it 2021-02-05 12:23:39 +01:00
stdio.h AK: Clean up includes around printf/vdbgprintf 2021-02-08 18:03:57 +01:00
stdlib.cpp Userland: Add LibSystem and funnel all syscalls through it 2021-02-05 12:23:39 +01:00
stdlib.h LibC: Don't honor LIBC_* malloc debugging flags in AT_SECURE context 2021-01-31 14:37:21 +01:00
string.cpp Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
string.h Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
strings.cpp Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
strings.h Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
syslog.cpp Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
syslog.h Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
termcap.cpp LibC: Convert remaining String::format() to formatted()/number() 2021-01-30 09:29:51 +01:00
termcap.h Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
termios.cpp LibC: Add 'cfmakeraw()' 2021-02-15 17:32:56 +01:00
termios.h LibC: Add 'cfmakeraw()' 2021-02-15 17:32:56 +01:00
time.cpp Userland: Add LibSystem and funnel all syscalls through it 2021-02-05 12:23:39 +01:00
time.h Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
times.cpp Userland: Add LibSystem and funnel all syscalls through it 2021-02-05 12:23:39 +01:00
ulimit.cpp LibC: Change a couple of ASSERT_NOT_REACHED() to TODO() 2021-01-17 08:43:46 +01:00
ulimit.h Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
unistd.cpp LibC+LibPthread: Implement pthread_atfork() 2021-02-15 17:32:56 +01:00
unistd.h Kernel+LibC: Add the _SC_GETPW_R_SIZE_MAX sysconf enum 2021-02-15 17:32:56 +01:00
utime.cpp Userland: Add LibSystem and funnel all syscalls through it 2021-02-05 12:23:39 +01:00
utime.h Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
utmp.h Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
utsname.cpp Userland: Add LibSystem and funnel all syscalls through it 2021-02-05 12:23:39 +01:00
wchar.cpp LibC: Add wcstol() and wcstoll() stubs 2021-01-18 22:28:56 +01:00
wchar.h LibC: Add wcstol() and wcstoll() stubs 2021-01-18 22:28:56 +01:00