-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Hrvoje Niksic wrote:
> 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.

Okay... but I don't see the logic of:

  1. If the system has POSIX's sigsetjmp, use that.
  2. Otherwise, just assume it has the completely unportable, and not
even BSDish, siggetmask.

AFAIK, _no_ system supports POSIX 100%, so just because it lacks one
POSIX facility doesn't mean we should assume we don't have another.

Much better is to use something with a bit of a better guarantee, or at
least not just leap to an assumption like that. At least sigblock(0) is
more portable, but we shouldn't assume we have that either.

And saying that VMS should implement its own completely separate
run_with_timeout just because it lacks an unportable facility doesn't
make sense--esides which, we're talking about a Unix here (Tru64), not
VMS (yet).

- --
Micah J. Cowan
Programmer, musician, typesetting enthusiast, gamer...
http://micah.cowan.name/

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFHIiWq7M8hyUobTrERCIjNAJ99DOhtgnur4YlUdoY3T4Tui9yxEwCfeH1g
BQmOzgE42CnZCtRNV2lBM+c=
=USw1
-----END PGP SIGNATURE-----

Reply via email to