sof         2005/04/22 10:00:50 PDT

  Modified files:
    ghc/compiler/ghci    InteractiveUI.hs 
    ghc/includes         RtsExternal.h TSO.h 
    ghc/rts              Linker.c Schedule.c 
    ghc/rts/win32        AsyncIO.c ConsoleHandler.c 
                         ConsoleHandler.h IOManager.c IOManager.h 
    libraries/base/GHC   ConsoleHandler.hs 
  Log:
  [mingw only]
  Better handling of I/O request abortions upon throwing an exception
  to a Haskell thread. As was, a thread blocked on an I/O request was
  simply unblocked, but its corresponding worker thread wasn't notified
  that the request had been abandoned.
  
  This manifested itself in GHCi upon Ctrl-C being hit at the prompt -- the
  worker thread blocked waiting for input on stdin prior to Ctrl-C would
  stick around even though its corresponding Haskell thread had been
  thrown an Interrupted exception. The upshot was that the worker would
  consume the next character typed in after Ctrl-C, but then just dropping
  it. Dealing with this turned out to be even more interesting due to
  Win32 aborting any console reads when Ctrl-C/Break events are delivered.
  
  The story could be improved upon (at the cost of portability) by making
  the Scheduler able to abort worker thread system calls; as is, requests
  are cooperatively abandoned. Maybe later.
  
  Also included are other minor tidyups to Ctrl-C handling under mingw.
  
  Merge to STABLE.
  
  Revision  Changes    Path
  1.200     +5 -1      fptools/ghc/compiler/ghci/InteractiveUI.hs
  1.12      +2 -1      fptools/ghc/includes/RtsExternal.h
  1.44      +2 -2      fptools/ghc/includes/TSO.h
  1.190     +3 -2      fptools/ghc/rts/Linker.c
  1.236     +12 -0     fptools/ghc/rts/Schedule.c
  1.10      +2 -0      fptools/ghc/rts/win32/AsyncIO.c
  1.7       +54 -2     fptools/ghc/rts/win32/ConsoleHandler.c
  1.2       +8 -0      fptools/ghc/rts/win32/ConsoleHandler.h
  1.13      +115 -28   fptools/ghc/rts/win32/IOManager.c
  1.4       +8 -4      fptools/ghc/rts/win32/IOManager.h
  1.7       +6 -2      fptools/libraries/base/GHC/ConsoleHandler.hs
_______________________________________________
Cvs-libraries mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/cvs-libraries

Reply via email to