>>>> "Bill" == Bill Tutt
<billtut(a)microsoft.com> writes:
> From: Adrian Aichner [mailto:aichnerï¼ ecf.teradyne.com]
> >>>>> "Jonathan" == Jonathan Harris
<jhar(a)tardis.ed.ac.uk> writes:
>
> I cannot interrupt
> (apply 'call-process "sleep" nil nil nil (list "30"))
> short of using Task Manager to "End Process".
>
Bill> Eh? Why not? You can call TerminateProcess() on the process
Bill> handle you dig up via OpenProcess() &/or CreateProcess().
Hi Bill!
The issue with call-process is this:
XEmacs on Unix uses non-blocking read for the child-process, so that
the user can keyboard-quit out of it.
At the moment
int this_read
= Lstream_read (XLSTREAM (instream), bufptr + nread,
bufsize - nread);
around line 482 in callproc.c of 21.2-b19 blocks until the process
terminates.
On Unix the Lstream implementation uses sys_read_1() for non-blocking
reads.
Does Windows95/98/NT have non-blocking read()?
MSDN for Visual Studio 6.0 does not make me think so.
Thanks for any help,
Adrian
Bill> e.g.:
Bill> if (!TerminateProcess(hProcess, (UINT)<forced exit code>))
Bill> {
Bill> <insert error handling here>
Bill> }
Bill> Bill