Micah Cowan <[EMAIL PROTECTED]> writes: >> We ain't go no siggetmask(). None on VMS (out as far as V8.3), >> either, should I ever get so far. > > siggetmask is an obsolete BSDism; POSIX has the sigprocmask function, > which we should prefer.
We do prefer the POSIX way, which is to use sigsetjmp/siglongjmp, in which case we need no explicit unblocking of signals. It is only on non-POSIX systems without sigsetjmp that we use siggetmask. Non-Unix systems, such as VMS, should be handled like Windows are currently handled: by providing their own native implementation of highly non-portable routines such as run_with_timeout. That's the whole point of having an abstract run_with_timeout function.