All these routines create system-specific portability problems. As noted elsewhere, Perl is at the mercy of your
C libraries for much of its system behaviour. It's probably safest to assume broken SysV semantics for signals and to stick with simple
TCP and
UDP socket operations; e.g., don't try to pass open file descriptors over a local
UDP datagram socket if you want your code to stand a chance of being portable.
Because few vendors provide
C libraries that are safely re-entrant, the prudent
programmer will do little else within a handler beyond die
to
raise an exception and longjmp
out.