diff options
author | Rich Felker <dalias@aerifal.cx> | 2018-09-01 01:46:44 -0400 |
---|---|---|
committer | Rich Felker <dalias@aerifal.cx> | 2018-09-01 01:46:44 -0400 |
commit | 0b4c92b7acf63529858e7f8a3bb6505cd2b6e962 (patch) | |
tree | bb0cb0e462edcd13840b6bad2b351788fae1b496 | |
parent | cff4b910ab210e5c35f768c75c4562b3ae3e86f2 (diff) | |
download | musl-0b4c92b7acf63529858e7f8a3bb6505cd2b6e962.tar.gz musl-0b4c92b7acf63529858e7f8a3bb6505cd2b6e962.tar.xz musl-0b4c92b7acf63529858e7f8a3bb6505cd2b6e962.zip |
optimize raise not to make a syscall for getting tid
assuming signals are blocked, which they are here, the tid in the thread structure is always valid and cannot change out from under us.
-rw-r--r-- | src/signal/raise.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/src/signal/raise.c b/src/signal/raise.c index 717b1c91..f0512019 100644 --- a/src/signal/raise.c +++ b/src/signal/raise.c @@ -5,11 +5,9 @@ int raise(int sig) { - int tid, ret; sigset_t set; __block_app_sigs(&set); - tid = __syscall(SYS_gettid); - ret = syscall(SYS_tkill, tid, sig); + int ret = syscall(SYS_tkill, __pthread_self()->tid, sig); __restore_sigs(&set); return ret; } |