2011/8/23 Antoine Pitrou <solip...@pitrou.net>: > Well, I would consider the I/O locks the most glaring problem. Right > now, your program can freeze if you happen to do a fork() while e.g. > the stderr lock is taken by another thread (which is quite common when > debugging).
Indeed. To solve this, a similar mechanism could be used: after fork(), in the child process: - just reset each I/O lock (destroy/re-create the lock) if we can guarantee that the file object is in a consistent state (i.e. that all the invariants hold). That's the approach I used in my initial patch. - call a fileobject method which resets the I/O lock and sets the file object to a consistent state (in other word, an atfork handler) _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com