Skip to content

Commit

Permalink
[XrdCl] Avoid FileStateHandler deadlock while forking.
Browse files Browse the repository at this point in the history
The recursive lock cannot be unlocked in the child atfork
handler, as the LWP id is used to identify the thread owner
in the current mutex implementation. LWP is unique per
system, and hence a thread in the child process cannot have
the same LWP as the thread locking the mutex in the parent
prepare atfork handler.
  • Loading branch information
simonmichal committed Jul 12, 2017
1 parent 1d4dd3e commit eee90c5
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion src/XrdCl/XrdClFileStateHandler.hh
Expand Up @@ -412,7 +412,7 @@ namespace XrdCl
//------------------------------------------------------------------------
void MonitorClose( const XRootDStatus *status );

mutable XrdSysRecMutex pMutex;
mutable XrdSysMutex pMutex;
FileStatus pFileState;
XRootDStatus pStatus;
StatInfo *pStatInfo;
Expand Down

0 comments on commit eee90c5

Please sign in to comment.