On Sat, 6 Sep 2008, chromatic wrote: > On Saturday 06 September 2008 20:19:56 James Keenan via RT wrote: >
> test_17787.c: In function 'main': > test_17787.c:45: error: 'SIGRTMIN' undeclared (first use in this function) > test_17787.c:45: error: (Each undeclared identifier is reported only once > test_17787.c:45: error: for each function it appears in.) > test_17787.c:46: error: 'SIGRTMAX' undeclared (first use in this function) > > If they're not in signal.h in Darwin, where are they? (And if they're not in > signal.h in Darwin, can someone squelch the rumor that Mac OS X is a > Unix-like platform? POSIX 2001!) > > ... or we could use SIGUSR for the tests, I suppose. We're not using > real-time signals elsewhere in Parrot right now. Parrot's also not using AIO anywhere either, so the whole probe is kind of pointless right now. Mainly, I was just hoping that a minor fix would help solve Patrick's problem of Configure.pl hanging during the aio probe. I don't know if it actually made any difference. Anyway, here's a minimally disruptive patch to change SIGRTMIN to SIGUSR1. I also got rid of the completely-unused logic to add SIGRTMIN + atoi(argv[1]), since that no longer makes any sense. This patch also gets rid of the probing for SIGRTMIN and SIGRTMAX. If parrot actually wants to use them, it should get them from a separate probe, rather than relying on them as a side effect of this test. At the moment, parrot doesn't use either one, so this does not change any functionality. After this patch, the probe will still be useless, since aio still isn't used anywhere, but perhaps it will now "pass" on Darwin and not hang elsewhere. diff -r -u parrot-current/config/auto/aio/aio.in parrot-andy/config/auto/aio/aio.in --- parrot-current/config/auto/aio/aio.in 2008-09-08 08:38:49.000000000 -0400 +++ parrot-andy/config/auto/aio/aio.in 2008-09-09 07:45:03.000000000 -0400 @@ -36,14 +36,7 @@ int i = 42; int cnt = 4; - /* For internal use, we usually use - SIGRTMIN + argv[1]. - Usually, that's set to - SIGRTMIN + 1 - by the calling program. - */ - my_sig = SIGRTMIN + atoi(argv[1]); - printf("SIGRTMIN=%d SIGRTMAX=%d\n", SIGRTMIN, SIGRTMAX); + my_sig = SIGUSR1; fd = open("MANIFEST", O_RDONLY); if (fd < 0) diff -r -u parrot-svn/config/auto/aio.pm parrot-andy/config/auto/aio.pm --- parrot-svn/config/auto/aio.pm 2008-09-08 08:38:49.000000000 -0400 +++ parrot-andy/config/auto/aio.pm 2008-09-09 07:46:14.000000000 -0400 @@ -49,14 +49,13 @@ my $errormsg = _first_probe_for_aio($conf, $verbose); if ( ! $errormsg ) { - my $test = $conf->cc_run(1); # Use signal RTMIN + 1 + my $test = $conf->cc_run(); # if the test is failing with sigaction err # we should repeat it with a different signal number # This is currently not implemented. if ( - $test =~ /SIGRTMIN=(\d+)\sSIGRTMAX=(\d+)\n - INFO=42\n + $test =~ /INFO=42\n ok/x ) { @@ -66,8 +65,6 @@ $conf->data->set( aio => 'define', HAS_AIO => 1, - D_SIGRTMIN => $1, - D_SIGRTMAX => $2, ); } else { -- Andy Dougherty [EMAIL PROTECTED]