www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2001/07/15/09:40:55

X-Sent: 15 Jul 2001 13:40:01 GMT
Message-ID: <001d01c10d33$d7e6b9c0$e33e1d18@nycap.rr.com>
From: "Matthew Conte" <matt AT conte DOT com>
To: <djgpp AT delorie DOT com>
Subject: '9x and raise in interrupt service routines
Date: Sun, 15 Jul 2001 09:41:24 -0400
MIME-Version: 1.0
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 6.00.2479.0006
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2479.0006
Reply-To: djgpp AT delorie DOT com

hello.

i have a custom keyboard handler installed via
_go32_dpmi_set_protected_mode_interrupt_vector, so the standard SIGINT
does not get handled for CTRL-C/CTRL-BREAK.  i'd like to be able to
handle the keystrokes in my own handler by calling raise(SIGINT), but
this causes the dreaded windows "This program has caused an illegal
operation..." dialog box to pop up and close my traceback dosbox.

i'm trying to handle SIGINT correctly to use gdb to track down an
infinite loop somewhere in my code.  without handling SIGINT, my
custom keyboard handler prevents SIGINT from ever occurring, so i can
never break out of the infinite loop.  and if i do raise(SIGINT) in my
handler, i get the aforementioned crash.

my crt0_startup_flags = _CRT0_FLAG_NONMOVE_SBRK |
_CRT0_FLAG_LOCK_MEMORY;

any help as to how i can remedy this situation would be greatly
appreciated.

regards,
matthew.


- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019