Proposal: System.Timeout module for base
Bulat Ziganshin
bulat.ziganshin at gmail.com
Thu Feb 1 05:49:23 EST 2007
Hello Simon,
Thursday, February 1, 2007, 12:46:29 PM, you wrote:
> Any other suggestions?
may be, we can raise exception in foreign language? at least for
'safe' calls. i.e., we establish in RTS signal handler. this handler
checks whether we are performing safe call and if so - raise
language-specific exception... hmm, if that's possible
btw, how about using for *Haskell* code *default* signal handler that
raise Haskell exception? i think that using signal handlers to process
OS-generated events is just legacy from the C days. i.e. 'main'
should be called by RTS inside code like this:
mainThread <- myThreadId
let onBreak event = do
throwTo mainThread BreakException
bracket (installHandler$ Catch onBreak) (installHandler) $ \oldHandler -> do
main
(of course, this handles only ^Break and only on Windows)
among other things, this should make signal handling portable between
Win/Unix
--
Best regards,
Bulat mailto:Bulat.Ziganshin at gmail.com
More information about the Libraries
mailing list