Signed off and pushed. Jim On Jan 5, 2012, at 2:42 AM, Felix wrote:
> Attached a patch submitted recently that adds win32-specific handling > of EINTR in reado/peek-char. Without this patch Ctrl-C will be > treated like EOF and terminate csi. > > The version attached adds a CYGWIN-specific preprocessor test. > > Please consider signing this off, whoever you are. > > > cheers, > felix > From fd5fbd2f1ca21e2964e0a27b7768532cf8dfe9bb Mon Sep 17 00:00:00 2001 > From: felix <[email protected]> > Date: Thu, 5 Jan 2012 09:34:06 +0100 > Subject: [PATCH] Added win32-specific keyboard-interrupt handling in > read/peek char routines in C runtime system, according to > information found here: > > http://mail.python.org/pipermail/python-bugs-list/2002-July/012579.html > > Without this patch SIGINT will result in the input routine returning EOF > which makes csi exit. > --- > runtime.c | 9 +++++++++ > 1 files changed, 9 insertions(+), 0 deletions(-) > > diff --git a/runtime.c b/runtime.c > index 3c5f3a9..7f8fa5c 100644 > --- a/runtime.c > +++ b/runtime.c > @@ -3957,6 +3957,11 @@ C_regparm C_word C_fcall C_read_char(C_word port) > > if(c == EOF) { > if(errno == EINTR) return C_fix(-1); > + /* Found here: > + > http://mail.python.org/pipermail/python-bugs-list/2002-July/012579.html */ > +#if defined(_WIN32) && !defined(__CYGWIN__) > + else if(GetLastError() == ERROR_OPERATION_ABORTED) return C_fix(-1); > +#endif > else return C_SCHEME_END_OF_FILE; > } > > @@ -3971,6 +3976,10 @@ C_regparm C_word C_fcall C_peek_char(C_word port) > > if(c == EOF) { > if(errno == EINTR) return C_fix(-1); > + /* see above */ > +#if defined(_WIN32) && !defined(__CYGWIN__) > + else if(GetLastError() == ERROR_OPERATION_ABORTED) return C_fix(-1); > +#endif > else return C_SCHEME_END_OF_FILE; > } > > -- > 1.7.6.msysgit.0 > > _______________________________________________ > Chicken-hackers mailing list > [email protected] > https://lists.nongnu.org/mailman/listinfo/chicken-hackers _______________________________________________ Chicken-hackers mailing list [email protected] https://lists.nongnu.org/mailman/listinfo/chicken-hackers
