Is it true that the Watcom function _disable() only disables interrupts for the process, and not the processor?
That depends upon where you are running your DOS/4GW program. The _disable() function just does a ‘cli’ instruction. How that affects your program/process/processor depends upon what operating system you are using. In plain DOS, _disable() does indeed disable all interrupts, because there is only one ‘process’. If you are running in Win3.1 or Win95, the ‘cli’ is virtualized, and only interrupts for your process are disabled. Windows provides a int 2fh call you can make to truly disable interrupts., although I don’t have my interrupt list here. You could also write a VXD. In NT, the ‘cli’ is virtualized, and only interrupts for your process are disabled. You would have to write a NT device driver to get interrupts disabled totally. OS/2 is similar to NT in this respect.