Source-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: src/lib/libpthread
Module Name: src
Committed By: yamt
Date: Tue May 5 09:49:11 UTC 2026
Modified Files:
src/lib/libpthread: pthread.c pthread_int.h
Log Message:
libpthread: fix pthread_main_np
the previous implementation was incorrect as pthread_t
of the main thread can be recycled via pthread__deadqueue.
with this changes, my test program [1] produces the same
result as macOS.
[1] https://github.com/yamt/garbage/tree/a24535e948dc62dde4c67366db97377e53d92e7b/c/pthread_main_np
an alternative fix would be to stop recycling the main thread
by simply leaking it. the leak is ok because, after all, it's
very rare for applications to continue after its main thread
exits. such applications don't even work as intended on some
of pthread implementations in the wild. for now, i'd go with
a more straightforward implementation though. ie. this commit.
To generate a diff of this commit:
cvs rdiff -u -r1.192 -r1.193 src/lib/libpthread/pthread.c
cvs rdiff -u -r1.114 -r1.115 src/lib/libpthread/pthread_int.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Home |
Main Index |
Thread Index |
Old Index