Assaf Yaari has uploaded this change for review.

View Change

log_functions: Don't call Cleanup from Fatal handling function

The Cleanup utility and usages (especially the uid2grp_cache_cleanup) is
not thread safe. A thread that call the LogFatal invokes now the
cleaners that destroy pthreads locks which may be used by other threads
and that may lead to undefined behavior. Also double destroy of the same
lock is undefined.
On Fatal we wand to terminate the process as fast as we can without the
risk of stuck threads that holds the process alive.

Also changing from _exit() to exit() to eliminate the ambiguity whether
the glibc version terminates just the thread or the entire process.

Signed-off-by: Assaf Yaari <assafy@google.com>
Change-Id: Ic8997399a5cc689a5bb59921a2270b7f5b347590
---
M src/log/log_functions.c
1 file changed, 1 insertion(+), 2 deletions(-)

git pull ssh://review.gerrithub.io:29418/ffilz/nfs-ganesha refs/changes/07/1190107/1

To view, visit change 1190107. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-MessageType: newchange
Gerrit-Project: ffilz/nfs-ganesha
Gerrit-Branch: next
Gerrit-Change-Id: Ic8997399a5cc689a5bb59921a2270b7f5b347590
Gerrit-Change-Number: 1190107
Gerrit-PatchSet: 1
Gerrit-Owner: Assaf Yaari <assafy@google.com>