Kon (or maybe Felix) On Sep 1 2011, Kon Lovett wrote:
Probably of no use to you but … When I added all the extra unix (Chicken v2 I think) signals stuff I figured (ha) that a Scheme signal handler could only perform operations that accessed existing structures, no heap mutation. I used handlers that basically only set flags.
Is there a way to verify that signal handlers can not allocate on the heap? As far as I understand runtime.c this should be true. But it's fairly complicated to reason here. It would be very, very helpful to be sure about that one. Since my eat-all-mem issue was gone all too suddenly with yet another git update (the one with the larger update to types.db), I'm afraid it might be a false positive. And there are the downsides of the approach I've take to get around this (possibly fake) issue. Not only makes it the interrupt latency a little larger (since what it tries to do is to wait for gc to finish); I've used to have a signal handler, which would write a thread listing into the log file. This has been extraordinary reliable even when I managed to mess up the thread system. No longer avail. Now I tried to re-enable the old handler invocation to confirm that the old issue would come back. So far it did not - which is confusing. Thanks a lot /Jörg _______________________________________________ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users