This patch adds a timeout function to the base libraries. Trac #980 is
authorPeter Simons <simons@cryp.to>
Fri, 26 Jan 2007 22:26:15 +0000 (22:26 +0000)
committerPeter Simons <simons@cryp.to>
Fri, 26 Jan 2007 22:26:15 +0000 (22:26 +0000)
commit5249233a5f74979e76f7fb559ba9a397e81cf915
tree332aff42beb639ec6e7582a52f933334579d775a
parentaabdf00d73c91a25cdfa0dc809260ee24bd70401
This patch adds a timeout function to the base libraries. Trac #980 is
concerned with this issue. The design guideline for this implementation
is that 'timeout N E' should behave exactly the same as E as long as E
doesn't time out. In our implementation, this means that E has the same
myThreadId it would have without the timeout wrapper. Any exception E
might throw cancels the timeout and propagates further up. It also
possible for E to receive exceptions thrown to it by another thread.
System/Timeout.hs [new file with mode: 0644]