[an error occurred while processing this directive]
Node:OS2,
Next:WindowsNT,
Previous:Minimum,
Up:Requirements
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 SIGINT
!
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
to 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.
Problems with 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
a SIGINT
handler.
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
uclock
.