| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
We now run programs in a Job, which means that we can kill a process
and all of its children when a timeout happens.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Also fixes whitespace.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch is based on a similar one "Enable timeout in Windows
and don't require cygwin python" by Esa Ilari Vuokko. It seems
like timeout is always built on Windows so I rearranged the logic
there to make the code clearer, Esa's patch required the user to
uncomment the MinGW-specific logic in order for it to work; this
patch does not have the MinGW-specific logic commented out.
I tested this on the trunk in Ubuntu 6.06 on i686 (VMWare).
I tested this on the trunk and ghc-6.6 branch on Windows i686.
|
| |
|
|
|
|
|
|
|
|
|
| |
In the child process, call exec() directly instead of using
System.Cmd.system, which involves another fork()/exec() and a
non-blocking wait. The problem is that in a forked child of a
threaded process, it isn't safe to do much except exec() according to
POSIX. In fact calling pthread_create() in the child causes the
pthread library to fail with an error on FreeBSD.
|
|
|
|
| |
Fix up to compile after recent changes to System.Process.Internals
|
|
|
|
| |
Make it work on Windows again.
|
|
|
|
|
|
|
|
|
|
|
|
| |
A better timeout. This one starts a new session for the child
process, and attempts to kill the entire group when the time expires
(previously we only killed the direct child, if the child itself had
spawned more processes these would continue to run).
The new scheme is only for Unix, presumably we have to do something
different on Windows.
Code partly from Ian Lynagh.
|
|
Add a timeout to test runs, using a wrapper program (written in
Haskell, using System.Process of course!).
|