Konstantin Belousov e4314da2e4 Fixes for very early use of the pthread_mutex_* and libthr malloc.
When libthr is statically linked into the binary, order of the
constructors execution is not deterministic.  It is possible for the
application constructor to use pthread_mutex_* functions before the
libthr initialization was done.

Handle it by:
- making thr_malloc.c locking functions operational when curthread is not
  yet set;
- making __thr_malloc_init() idempotent, allowing more than one call to it;
- unconditionally calling __thr_malloc_init() before initializing
  a process-private mutex.

Reported and tested by:	mmel
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
2019-02-04 21:16:15 +00:00
..
2019-01-12 21:29:54 +00:00
2019-02-04 19:12:45 +00:00
2017-12-27 21:36:37 +00:00
2018-03-29 19:43:29 +00:00
2019-01-10 14:35:23 +00:00
2019-01-10 14:35:23 +00:00
2018-11-04 16:08:59 +00:00
2018-03-21 14:37:04 +00:00
2018-10-12 05:27:58 +00:00
2018-06-27 19:29:15 +00:00
2018-09-19 07:05:31 +00:00
2018-09-20 09:26:10 +00:00
2018-09-19 07:06:20 +00:00
2018-09-20 09:31:27 +00:00
2019-02-04 13:30:47 +00:00
2018-12-31 03:08:01 +00:00
2018-09-22 13:17:30 +00:00
2018-05-23 01:20:31 +00:00
2018-06-17 18:05:27 +00:00
2018-12-29 21:18:01 +00:00
2019-02-01 23:15:54 +00:00