mirror of git://sourceware.org/git/glibc.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.
This commit is contained in:
parent
946dcc6fde
commit
2aa072d395
|
@ -21,6 +21,7 @@
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include <hurd.h>
|
#include <hurd.h>
|
||||||
#include <hurd/port.h>
|
#include <hurd/port.h>
|
||||||
|
#include <ldsodefs.h>
|
||||||
#include "set-hooks.h"
|
#include "set-hooks.h"
|
||||||
#include "hurdmalloc.h" /* XXX */
|
#include "hurdmalloc.h" /* XXX */
|
||||||
|
|
||||||
|
@ -116,6 +117,11 @@ _hurd_libc_proc_init (char **argv)
|
||||||
{
|
{
|
||||||
if (_hurd_portarray)
|
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. */
|
/* Tell the proc server we exist, if it does. */
|
||||||
if (_hurd_portarray[INIT_PORT_PROC] != MACH_PORT_NULL)
|
if (_hurd_portarray[INIT_PORT_PROC] != MACH_PORT_NULL)
|
||||||
_hurd_new_proc_init (argv, _hurd_intarray, _hurd_intarraysize);
|
_hurd_new_proc_init (argv, _hurd_intarray, _hurd_intarraysize);
|
||||||
|
|
Loading…
Reference in New Issue