From: Samuel Thibault Date: Fri, 13 Nov 2020 01:10:42 +0000 (+0000) Subject: hurd: initialize libpthread before starting the signal thread X-Git-Tag: upstream/2.34~1307 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=2aa072d395bf93bfc6aa570983911f1db40a8dac;p=platform%2Fupstream%2Fglibc.git hurd: initialize libpthread before starting the signal thread We cannot rely on csu calling __pthread_initialize_minimal before posixland_init, in some cases _init gets called before that. --- diff --git a/hurd/hurdinit.c b/hurd/hurdinit.c index 06a2d3b..7faa51b 100644 --- a/hurd/hurdinit.c +++ b/hurd/hurdinit.c @@ -21,6 +21,7 @@ #include #include #include +#include #include "set-hooks.h" #include "hurdmalloc.h" /* XXX */ @@ -116,6 +117,11 @@ _hurd_libc_proc_init (char **argv) { if (_hurd_portarray) { + /* We will start the signal thread, so we need to initialize libpthread + * if linked in. */ + if (__pthread_initialize_minimal != NULL) + __pthread_initialize_minimal (); + /* Tell the proc server we exist, if it does. */ if (_hurd_portarray[INIT_PORT_PROC] != MACH_PORT_NULL) _hurd_new_proc_init (argv, _hurd_intarray, _hurd_intarraysize);