1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-12-24 17:51:17 +03:00
2000-03-23  Ulrich Drepper  <drepper@redhat.com>

	* resolv/netdb.h (SCOPE_DELIMITER): New definitions.
	* inet/netinet/in.h (struct sockaddr_in6): Add sin6_scope_id
	according to RFC 2553.
	* sysdeps/posix/getaddrinfo.c: Change to follow latest RFC draft.
	* inet/getnameinfo.c: Likewise.
	Patches by YOSHIFUJI Hideaki <yoshfuji@v6.linux.or.jp>.
This commit is contained in:
Ulrich Drepper
2000-03-23 22:16:37 +00:00
parent c0bc5f7b8f
commit 383052e98c
5 changed files with 27 additions and 0 deletions

View File

@@ -1,3 +1,12 @@
2000-03-23 Ulrich Drepper <drepper@redhat.com>
* resolv/netdb.h (SCOPE_DELIMITER): New definitions.
* inet/netinet/in.h (struct sockaddr_in6): Add sin6_scope_id
according to RFC 2553.
* sysdeps/posix/getaddrinfo.c: Change to follow latest RFC draft.
* inet/getnameinfo.c: Likewise.
Patches by YOSHIFUJI Hideaki <yoshfuji@v6.linux.or.jp>.
2000-03-23 Bruno Haible <haible@clisp.cons.org>
* iconv/gconv_simple.c (internal_ucs4_loop, internal_ucs4le_loop):

View File

@@ -1,5 +1,9 @@
2000-03-23 Ulrich Drepper <drepper@redhat.com>
* mutex.c (__pthread_reset_pthread_once): Reset once_masterlock.
* internals.h (__pthread_reset_pthread_once): Add prototype.
* ptfork.c (__fork): Call __pthread_reset_pthread_once.
* manager.c (pthread_handle_create): Store ID of new thread before
clone call.

View File

@@ -395,6 +395,7 @@ int __pthread_manager(void *reqfd);
int __pthread_manager_event(void *reqfd);
void __pthread_manager_sighandler(int sig);
void __pthread_reset_main_thread(void);
void __pthread_reset_pthread_once(void);
void __fresetlockfiles(void);
void __pthread_manager_adjust_prio(int thread_prio);
void __pthread_set_own_extricate_if(pthread_descr self, pthread_extricate_if *peif);

View File

@@ -223,3 +223,15 @@ int __pthread_once(pthread_once_t * once_control, void (*init_routine)(void))
return 0;
}
strong_alias (__pthread_once, pthread_once)
/*
* This is called in the child process after a fork to make
* sure that the global mutex pthread_once is not held,
* and that the condition variable is reset to an initial state.
*/
void __pthread_reset_pthread_once(void)
{
pthread_mutex_init(&once_masterlock, NULL);
pthread_cond_init(&once_finished, NULL);
}

View File

@@ -89,6 +89,7 @@ pid_t __fork(void)
pid = __libc_fork();
if (pid == 0) {
__pthread_reset_main_thread();
__pthread_reset_pthread_once();
__fresetlockfiles();
pthread_call_handlers(child);
} else {