Timothy Bourke wrote:
I've just had some time to test the new version on FreeBSD (6.3-RELEASE).
On Jun 3 at 15:14 +0100, David Matthews wrote:
Changes to handling of signals by the Signal structure. Rather than
forking a new thread to process each signal there is a single thread that
executes all the signal handlers. This should improve the responsiveness
to an asynchronous signals such as SIGINT. The original control-C handler
has been removed and the Poly/ML read-eval-print loop now installs a simple
handler for control-C that just generates an Interrupt exception.
I found that the final polyimport -H 10 polytemp.txt kept crashing
with a segmentation fault. It seems that PTHREAD_STACK_MIN is not
enough space on FreeBSD 6.3. Adding 100 (found by trial and error)
fixes the problem as per the attached patch.
Tim,
Thanks for reporting this. I've installed FreeBSD 6.3 in an emulator
and tested Poly/ML. It seems that PTHREAD_STACK_MIN is only 2k on
FreeBSD whereas it is 16k on Linux. I've added a test for when it's
less than 4k so that there is at least 4k for the stack. The idea was
to try and use a smallish stack for this thread because it only calls a
single function but there's no need to shave the stack space to an
absolute minimum. It's likely to be rounded up to a page boundary anyway.
I also fixed a few other things so that it compiles on FreeBSD without
any other changes.
Regards,
David.
Copied to the mailing list in case there are other FreeBSD users out there.
_______________________________________________
polyml mailing list
[email protected]
http://lists.inf.ed.ac.uk/mailman/listinfo/polyml