Q: You tell me it will work under OS/2, but I'm experiencing strange
crashes after several compilations ....
Q: DJGPP Make crashes when I run it on OS/2!
Q: When I press Ctrl-<C>, my program is aborted, even
though I've set up a handler for
A: There was a bug in the DPMI server of the old OS/2 versions,
which was triggered by spawning child processes (like GCC does when it
invokes the various compiler passes). Current versions of OS/2 don't
have that bug, so DJGPP programs should run fine under OS/2. If you
can't make this happen, chances are that your setup is incorrect. One
system parameter that can cause problems with DJGPP (reportedly, Make
crashes if it isn't set correctly) is
DPMI_DOS_API. Setting it
ENABLED instead of the default
AUTO should solve the
problem. I'm also told that experimenting with the value of
DPMI_MEMORY_LIMIT sometimes solves problems on OS/2. Reportedly,
version 4.0 of OS/2 solves problems with DPMI support, so the above is
only required for OS/2 v3.0 or earlier.
One particular problem with OS/2 v3.0 is that RHIDE 1.4 and later exits after the compilation ends. This doesn't happen under OS/2 v4.0, so you should upgrade if you have such problems.
SIGINT are due to a known bug in OS/2 VDM: when you
press Ctrl-<C>, VDM catches it ahead of the keyboard interrupt
handler installed by the DJGPP startup code, and aborts the program.
Thus, you cannot prevent your programs from being aborted by installing
Programs that use the library function
delay hang if the
<Pause> key is pressed while inside the call to
delay. It is
possible that versions of OS/2 4.0 fixpack 13 or later will correct
this. As a work-around, use
usleep or write a loop which calls