1. 15 Apr, 2016 3 commits
    • Kevin Modzelewski's avatar
      d4831adb
    • Kevin Modzelewski's avatar
      Allow forking with other threads alive · bb053bf4
      Kevin Modzelewski authored
      I wasn't sure what we would have to do in this case --
      we don't really have any way of cleaning up the data referenced
      by those other threads.
      
      Fortunately(?), CPython doesn't do much cleanup of those threads
      (cleans up their metadata but doesn't try to clean up any references
      held by the thread), so we don't have to do much either.  Just set
      a flag saying that this happened and that we should skip asserting
      that we got down to 0 refs.
      bb053bf4
    • Kevin Modzelewski's avatar
      Move our ThreadState handling closer to CPython's · 6eea2b47
      Kevin Modzelewski authored
      Our underlying implementation still looks pretty different, but
      rather than implement some newly-needed APIs completely from scratch,
      I copied in some of CPython's implementation.
      
      The result is a bit messy (multiple ways of doing similar things),
      but I think it's a step in the right direction.
      
      Regardless, this commit adds "clean up thread-local storage when the
      local object dies" functionality, as well as better cleanup when
      there are multiple threads.  I think this should help with the fork
      issues as well.
      6eea2b47
  2. 13 Apr, 2016 14 commits
  3. 12 Apr, 2016 19 commits
  4. 11 Apr, 2016 4 commits