X-Git-Url: http://nsz.repo.hu/git/?p=musl;a=blobdiff_plain;f=src%2Fldso%2Fdynlink.c;h=ac4b669f178bdb94d5d674e1a6fbea196c3b0c19;hp=d19747369331ba6b0bbf1bc597cb9930e75611e1;hb=509b50eda8ea7d4a28f738e4cf8ea98d25959f00;hpb=17aef0b41e3d7cb37c476cbe2df26fc444518a64 diff --git a/src/ldso/dynlink.c b/src/ldso/dynlink.c index d1974736..ac4b669f 100644 --- a/src/ldso/dynlink.c +++ b/src/ldso/dynlink.c @@ -692,6 +692,10 @@ static void do_init_fini(struct dso *p) } if (dyn[0] & (1<base + dyn[DT_INIT]))(); + if (!need_locking && libc.threads_minus_1) { + need_locking = 1; + pthread_mutex_lock(&init_fini_lock); + } } if (need_locking) pthread_mutex_unlock(&init_fini_lock); }