Print

Print


Yes - `multiprocessing` forks the python interpreter.  As long as you use the synchronous API, no Python is invoked inside the client background pools - just the C++ handler.  That means the GIL isn't touched, which means the deadlocks go away.

I'm very happy with my Python scripts that use `multiprocessing` + `sync` APIs.  That's definitely the direction for @dabercro.

Yeah - CMS still uses the async API and we still have odds-n-ends issues with locks on the error recovery paths.  It's incredibly tricky and I wouldn't advice folks to go down that path if they weren't already there.  I do think it'd improve if the error callbacks were done on the background thread pool.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/xrootd/xrootd/issues/462#issuecomment-282374535

########################################################################
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