Skip to content
  • Simon Marlow's avatar
    [project @ 2002-02-05 10:06:24 by simonmar] · 84a29fdd
    Simon Marlow authored
    Fix bad bugs in deleteAllThreds: we were looping through the thread
    queues calling deleteThread() on each thread as we go, but calling
    deleteThread() has the side effect of removing the thread from the
    relevant queue, so we would end up breaking out of the loop after
    processing only a single thread.
    
    This may fix problems like "resurrectThreads: thread blocked in a
    strange way" seen after pressing ^C.
    
    Aside: we really shouldn't be using deleteThread() at all, since it
    doesn't give the thread a chance to clean up & release locks.  To be
    well-behaved a program has to catch ^C itself at the moment.
    84a29fdd