proof-of-concept of pausing debugee by itself
in a way that allow debugger to resume;
High level picture:
Aside from socket, the pipe is created in debugee (thanks Duncan). The C thread now uses select to wait for input on either socket or the pipe. If anything comes via the pipe, it calls pause_mutator().
The argument to withGhcDebug gets additional argument of type IO () -- this is an action that when executed writes sth (content is actually irrelevant) to the pipe.
Edited by ttylec