I just got bit by code that looks somewhat like this: SyncHostResponse handler; file->Open(m_filename, m_flags, m_perms, &handler); handler.WaitForResponse(); (here, file is a XrdCl::File*; actual code is slightly more complex, but the above suffices). For a long time, this code worked fine - the Open was the first call to XrdCl, so it never failed. However, an unrelated commit added a prior call to XrdCl::FileSystem::Query. If that ended in a fatal error, the call to file->Open failed immediately -- and the WaitForResponse() hangs indefinitely as there is no callback. We should mark the relevant XrdCl::File and XrdCl::FileSystem asynchronous calls with the attribute warn_unused_result where available; this would have resulted in a compiler warning, which would have allowed me to avoid a deadlock. --- Reply to this email directly or view it on GitHub: https://github.com/xrootd/xrootd/issues/188 ######################################################################## Use REPLY-ALL to reply to list To unsubscribe from the XROOTD-DEV list, click the following link: https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=XROOTD-DEV&A=1