Charles-François Natali <neolo...@free.fr> added the comment:

"""
OSError: [Errno 16] Device or resource busy: 
'/nfs/tmp/pymp-f7R9S6/.nfs00000000e039692f00000236'
"""

That's because the temporary directory is removed while a file inside is still 
open.
And that's really likely the unix socket used by the server's listener.

What happens if you do this instead:
"""
import multiprocessing
 
manager = multiprocessing.Manager()
manager.shutdown()
del manager
"""

You should shutdown the manager before it gets garbage collected.

> (the TMDIR directory is in a nfs server)

Bad idea, for the following reasons:
- you're actually lucky Linux allows binding unix sockets over NFS filesystems, 
some Unix flavors don't
- you're likely to run into similar problems, because code which removes a 
temporary directory while having still an open FD is quite common, and will 
break with a tmp dir over NFS
- mkstemp() and friends use O_EXCL to create a temporary file securely, and 
some NFS implementations of O_EXCL are unsafe (should be OK with NFSv3 and 
later though)
- it's not a good idea performance wise

----------
nosy: +neologix

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue13978>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to