- Jun 30, 2017
-
-
Qi Wang authored
This fixed the issue that could cause the child process to stuck after fork.
-
Jason Evans authored
This resolves #912.
-
- Jun 29, 2017
-
-
Jason Evans authored
This resolves #883.
-
- Jun 26, 2017
-
-
Qi Wang authored
-
- Jun 23, 2017
-
-
Qi Wang authored
-
Qi Wang authored
-
Qi Wang authored
Customized extent hooks may malloc / free thus trigger reentry. Support this behavior by adding reentrancy on hook functions.
-
Jason Evans authored
Reported by Conrad Meyer.
-
Qi Wang authored
-
Qi Wang authored
Passing is_background_thread down the decay path, so that background thread itself won't attempt inactivity_check. This fixes an issue with background thread doing trylock on a mutex it already owns.
-
- Jun 21, 2017
-
-
Jason Evans authored
This prevents signals from being inadvertently delivered to background threads.
-
- Jun 20, 2017
-
-
Qi Wang authored
-
- Jun 16, 2017
-
-
Qi Wang authored
We use the minimal_initilized tsd (which requires no cleanup) for free() specifically, if tsd hasn't been initialized yet. Any other activity will transit the state from minimal to normal. This is to workaround the case where a thread has no malloc calls in its lifetime until during thread termination, free() happens after tls destructors.
-
Qi Wang authored
-
- Jun 15, 2017
-
-
Qi Wang authored
During purging, we may unlock decay->mtx. Therefore we should finish logging decay related counters before attempt to purge.
-
- Jun 14, 2017
- Jun 13, 2017
-
-
Jason Evans authored
-
Jason Evans authored
-
Jason Evans authored
-
Jason Evans authored
-
- Jun 12, 2017
-
-
Qi Wang authored
We lookup freed extents for testing in post_reset. Take background_thread lock so that the extents are not modified at the same time.
-
Qi Wang authored
-
Qi Wang authored
Avoid calling pthread_create in postfork handlers.
-
Qi Wang authored
To avoid complications, avoid invoking pthread_create "internally", instead rely on thread0 to launch new threads, and also terminating threads when asked.
-
- Jun 09, 2017
-
-
Jason Evans authored
Also fix a compilation error #ifndef JEMALLOC_PTHREAD_CREATE_WRAPPER.
-
Jason Evans authored
-
- Jun 08, 2017
-
-
Jason Evans authored
Pre-C11 compilers do not support typedef redefinition.
-
Qi Wang authored
-
Qi Wang authored
Avoid holding arenas_lock and background_thread_lock when creating background threads, because pthread_create may take internal locks, and potentially cause deadlock with jemalloc internal locks.
-
- Jun 07, 2017
-
-
Qi Wang authored
Since tsd cleanup isn't guaranteed when reincarnated, we set up tsd in a way that needs no cleanup, by making it going through slow path instead.
-
- Jun 05, 2017
- Jun 02, 2017
- Jun 01, 2017
-
-
Qi Wang authored
The state initialization should be done before pthread_create.
-
Jason Evans authored
Add testing for background_thread:true, and condition a xallocx() --> rallocx() escalation assertion to allow for spurious in-place rallocx() following xallocx() failure.
-
Jason Evans authored
Refactor bootstrapping such that dlsym() is called during the bootstrapping phase that can tolerate reentrant allocation.
-
Jason Evans authored
-