From 80cf4ea1487037cfb2f5ef6b29291959b2c5b243 Mon Sep 17 00:00:00 2001 From: Juan Jose Garcia Ripoll Date: Sat, 19 Sep 2009 00:48:17 +0200 Subject: [PATCH] Fixed a few typos in the implementation of Windows interrupts. --- msvc/Makefile | 2 +- src/c/threads.d | 6 +++--- src/c/unixint.d | 24 ++++++++++++------------ 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/msvc/Makefile b/msvc/Makefile index 390dc024b..efbe96b5a 100644 --- a/msvc/Makefile +++ b/msvc/Makefile @@ -26,7 +26,7 @@ THEHOST = win32 GMP_TYPE = gc # Set it to non-empty to include Win32 thread support -ECL_THREADS = +ECL_THREADS = 1 # Set it to non-empty to include support for Unicode characters ECL_UNICODE = diff --git a/src/c/threads.d b/src/c/threads.d index cddc6c54a..d24756478 100644 --- a/src/c/threads.d +++ b/src/c/threads.d @@ -513,8 +513,8 @@ mp_block_signals(void) { #ifdef ECL_WINDOWS_THREADS cl_env_ptr the_env = ecl_process_env(); - cl_object previous = ecl_symbol_value(the_env, @'si::*interrupt-enable*'); - ECL_SETQ(the_env, @'si::*interrupt-enable*', Cnil); + cl_object previous = ecl_symbol_value(@'si::*interrupts-enabled*'); + ECL_SETQ(the_env, @'si::*interrupts-enabled*', Cnil); @(return previous) #else cl_object previous = mp_get_sigmask(); @@ -531,7 +531,7 @@ mp_restore_signals(cl_object sigmask) { #ifdef ECL_WINDOWS_THREADS cl_env_ptr the_env = ecl_process_env(); - ECL_SETQ(the_env, @'si::*interrupt-enable*', sigmask); + ECL_SETQ(the_env, @'si::*interrupts-enabled*', sigmask); ecl_check_pending_interrupts(); @(return sigmask) #else diff --git a/src/c/unixint.d b/src/c/unixint.d index 846eaf02b..ae30c743d 100644 --- a/src/c/unixint.d +++ b/src/c/unixint.d @@ -639,37 +639,37 @@ LONG WINAPI W32_exception_filter(struct _EXCEPTION_POINTERS* ep) /* Catch all arithmetic exceptions */ case EXCEPTION_INT_DIVIDE_BY_ZERO: handle_or_queue(@'division-by-zero', 0); - return; + return EXCEPTION_CONTINUE_EXECUTION; case EXCEPTION_INT_OVERFLOW: handle_or_queue(@'arithmetic-error', 0); - return; + return EXCEPTION_CONTINUE_EXECUTION; case EXCEPTION_FLT_DIVIDE_BY_ZERO: handle_or_queue(@'floating-point-overflow', 0); - return; + return EXCEPTION_CONTINUE_EXECUTION; case EXCEPTION_FLT_OVERFLOW: handle_or_queue(@'floating-point-overflow', 0); - return; + return EXCEPTION_CONTINUE_EXECUTION; case EXCEPTION_FLT_UNDERFLOW: handle_or_queue(@'floating-point-underflow', 0); - return; + return EXCEPTION_CONTINUE_EXECUTION; case EXCEPTION_FLT_INEXACT_RESULT: - handle_or_queue(@'floating-point-indexact', 0); - return; + handle_or_queue(@'floating-point-inexact', 0); + return EXCEPTION_CONTINUE_EXECUTION; case EXCEPTION_FLT_DENORMAL_OPERAND: case EXCEPTION_FLT_INVALID_OPERATION: handle_or_queue(@'floating-point-invalid-operation', 0); - return; + return EXCEPTION_CONTINUE_EXECUTION; case EXCEPTION_FLT_STACK_CHECK: handle_or_queue(@'arithmetic-error', 0); - return; + return EXCEPTION_CONTINUE_EXECUTION; /* Catch segmentation fault */ case EXCEPTION_ACCESS_VIOLATION: handle_or_queue(@'ext::segmentation-violation', 0); - return; + return EXCEPTION_CONTINUE_EXECUTION; /* Catch illegal instruction */ case EXCEPTION_ILLEGAL_INSTRUCTION: handle_or_queue(MAKE_FIXNUM(SIGILL), 0); - break; + return EXCEPTION_CONTINUE_EXECUTION; /* Do not catch anything else */ default: excpt_result = EXCEPTION_CONTINUE_SEARCH; @@ -681,7 +681,7 @@ LONG WINAPI W32_exception_filter(struct _EXCEPTION_POINTERS* ep) } static cl_object -W32_handle_in_thread(cl_object signal_code) +W32_handle_in_new_thread(cl_object signal_code) { int outside_ecl = ecl_import_current_thread(@'si::handle-signal', Cnil);