Browse Source

optimize pthread initialization

the set_tid_address returns the tid (which is also the pid when called
from the initial thread) so there is no need to make a separate
syscall to get pid/tid.
Rich Felker 14 years ago
parent
commit
6dc05fbe19
1 changed files with 2 additions and 2 deletions
  1. 2 2
      src/thread/pthread_self.c

+ 2 - 2
src/thread/pthread_self.c

@@ -24,10 +24,10 @@ static int init_main_thread()
 	main_thread.self = &main_thread;
 	if (__set_thread_area(&main_thread) < 0)
 		return -1;
-	syscall1(__NR_set_tid_address, (long)&main_thread.tid);
 	main_thread.errno_ptr = __errno_location();
 	libc.errno_location = errno_location;
-	main_thread.tid = main_thread.pid = getpid();
+	main_thread.tid = main_thread.pid = 
+		syscall1(__NR_set_tid_address, (long)&main_thread.tid);
 	return 0;
 }