cvs commit: fptools configure.ac fptools/libraries/base/System/Posix Signals.hsc fptools/libraries/base/include HsBase.h

Volker Stolz vs at foldr.org
Tue Sep 7 12:26:43 EDT 2004


On Tue, Sep 07, 2004 at 04:53:41PM +0100, Ross Paterson wrote:
> - isn't it highly undesirable for a module to have different interfaces
>   in different environments?  (That is, can't these things be exported
>   with value 0?)

Maybe I should sneak over to perl, python & ruby and see how they deal with
this problems. I think it's even more undesirable not to be able to do what
you want to do. The upside is that the HAVE_flags are there for you to test.
On the downside, I imagine that the online-API-docs generated from Linux will
give a wrong impression to Windows-users w.r.t. sigWINCH.
An appropriate comment about the availability in the Haddock-docs would be a
good start.

Perl:
http://search.cpan.org/dist/perl/lib/sigtrap.pm
Some predefined signals, plus, in sec. OTHER:
"Any argument which looks like a signal name (that is, /^[A-Z][A-Z0-9]*$/)
indicates that sigtrap should install a handler for that name."

Python:
http://www.python.org/doc/2.3.4/lib/module-signal.html
"SIG*
All the signal numbers are defined symbolically. For example, the hangup signal
is defined as signal.SIGHUP; the variable names are identical to the names used
in C programs, as found in <signal.h>. The Unix man page for `signal()' lists
the existing signals (on some systems this is signal(2), on others the list is
in signal(7)). Note that not all systems define the same set of signal names;
only those names defined by the system are defined by this module.
[...]
signal(	signalnum, handler)	
Set the handler for signal signalnum to the function handler."

Sounds similar to the perl-approch or along the lines of mkSignal :: Int -> Signal
(which is undesirable since it won't break on compilation, IMO).

http://pydoc.org/2.3/signal.html offers a SIGWINCH, which is a Linuxism.

> - why is HAVE_SIGPOLL better than #ifdef SIGPOLL?

HAVE_FOO is the traditional name for feature-tested flags by autoconf.
-- 
Volker Stolz * http://www-i2.informatik.rwth-aachen.de/stolz/ * PGP * S/MIME


More information about the Cvs-libraries mailing list