musl - musl - an implementation of the standard library for Linux-based systems

index : musl
musl - an implementation of the standard library for Linux-based systems
summary refs log tree commit diff
path: root/src/misc/getopt.c
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2014年06月10日 04:49:49 -0400
committerRich Felker <dalias@aerifal.cx>2014年06月10日 04:49:49 -0400
commitac31bf278d9ed855e6765bb71d64ed19d2b7c0f8 (patch)
tree7bb84ee108a4ce18d69164e3bd28ca5f586f9d30 /src/misc/getopt.c
parentdf15168cf8baf34fb9c94e19eaa1a5c79c853970 (diff)
downloadmusl-ac31bf278d9ed855e6765bb71d64ed19d2b7c0f8.tar.gz
simplify errno implementation
the motivation for the errno_ptr field in the thread structure, which this commit removes, was to allow the main thread's errno to keep its address when lazy thread pointer initialization was used. &errno was evaluated prior to setting up the thread pointer and stored in errno_ptr for the main thread; subsequently created threads would have errno_ptr pointing to their own errno_val in the thread structure. since lazy initialization was removed, there is no need for this extra level of indirection; __errno_location can simply return the address of the thread's errno_val directly. this does cause &errno to change, but the change happens before entry to application code, and thus is not observable.
Diffstat (limited to 'src/misc/getopt.c')
0 files changed, 0 insertions, 0 deletions
generated by cgit v1.2.1 (git 2.18.0) at 2025年10月08日 17:46:39 +0000

AltStyle によって変換されたページ (->オリジナル) /