Author: Brian Kearns <bdkea...@gmail.com> Branch: Changeset: r61309:8f52d162f0ee Date: 2013-02-16 04:27 -0500 http://bitbucket.org/pypy/pypy/changeset/8f52d162f0ee/
Log: try to clean up more on fork diff --git a/pypy/module/thread/threadlocals.py b/pypy/module/thread/threadlocals.py --- a/pypy/module/thread/threadlocals.py +++ b/pypy/module/thread/threadlocals.py @@ -85,9 +85,11 @@ # enable_signals() if necessary. That's a hack but I cannot # figure out a non-hackish way to handle thread+signal+fork :-( ident = rthread.get_ident() - old = self._signalsenabled.get(ident, 0) - if ident is not self._mainthreadident: - self._mainthreadident = ident - old += 1 - self._signalsenabled.clear() - self._signalsenabled[ident] = old + val = self.getvalue() + sig = self._signalsenabled.get(ident, 0) + if ident != self._mainthreadident: + sig += 1 + self._cleanup_() + self.setvalue(val) + self._signalsenabled[ident] = sig + self._mainthreadident = ident _______________________________________________ pypy-commit mailing list pypy-commit@python.org http://mail.python.org/mailman/listinfo/pypy-commit