It should be enough to call Public.ObjectiveC.purge_autorelease_pool () both in init() and exit().
Ah, that sounds nice. I seem to have lost the well defined behaviour of getting mentioned errors now, both with and without these calls, but I still get crashes in GL code, though without all the ahead of time warnings on stderr. Must be something else in my environment that has changed I guess, though I can't figure out quite what.
If you are creating multiple threads, the there's additional work that needs to be done, but I'll spare you the details if you're not using them.
We do, but only the backend thread gets to run any GL (SDL) code (as some GL libraries are finicky about that kind of thing). I'm not sure if that means I get the additional work burden or not.
Incidentally, some of my code from the ObjectiveC module came in handy when I was trying to set up callbacks from the USB subsystem... I had already put support for running the OSX NSRunLoop in the Pike backend, which makes the callbacks and all kinds of other functionality possible, like Bonjour queries and Distributed Objects... pretty nifty stuff.
Bill
pike-devel@lists.lysator.liu.se