[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Chicken-hackers] [PATCH] resubmission of Win32-specific EINTR handl
From: |
Jim Ursetto |
Subject: |
Re: [Chicken-hackers] [PATCH] resubmission of Win32-specific EINTR handling |
Date: |
Mon, 16 Jan 2012 11:08:37 -0600 |
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 <address@hidden>
> 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
> address@hidden
> https://lists.nongnu.org/mailman/listinfo/chicken-hackers
Re: [Chicken-hackers] [PATCH] resubmission of Win32-specific EINTR handling,
Jim Ursetto <=