changeset 18461:9cfba3616503 stable

allow sighandlers.cc to compile on 64-bit Windows systems * sighandlers.cc (w32_interrupt_manager::do_octave_jump_to_enclosing_context): Avoid code that only works on Windows32 systems.
author John W. Eaton <jwe@octave.org>
date Thu, 13 Feb 2014 16:34:06 -0500
parents 0821a51a9e1b
children 343718b2eee4
files libinterp/corefcn/sighandlers.cc
diffstat 1 files changed, 7 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/libinterp/corefcn/sighandlers.cc	Thu Feb 13 11:15:58 2014 -0500
+++ b/libinterp/corefcn/sighandlers.cc	Thu Feb 13 16:34:06 2014 -0500
@@ -139,6 +139,12 @@
       octave_jump_to_enclosing_context_sync ();
     else
       {
+        // 64-bit Windows does not appear to have threadContext.Eip.
+        // Something else must be done here to allow interrupts to
+        // properly work across threads.
+
+#if ! (defined (__MINGW64__) || defined (_WIN64))
+
         CONTEXT threadContext;
 
         SuspendThread (thread);
@@ -147,6 +153,7 @@
         threadContext.Eip = (DWORD) octave_jump_to_enclosing_context_sync;
         SetThreadContext (thread, &threadContext);
         ResumeThread (thread);
+#endif
       }
   }