So..... Let me get this straight. ;-) The reason BlitzMax is crashing when it is fork()ed is because of the timing code in BRL.System, whose Linux implementation involves emitting SIGALRM interrupts 1000 times a second. Your fix basically stops the timer and resumes it after the system() call.
I'm curious... How the hell did you manage to narrow it down to that interrupt? Surely there's a better way to do this kinda thing that with interrupts... You mention background threads... How would they work?
I'm curious... How the hell did you manage to narrow it down to that interrupt? Surely there's a better way to do this kinda thing that with interrupts... You mention background threads... How would they work?