As long as hope remains

So, this was rather an unproductive week, unfortunately. I'm completely busy with moving right now (and will be coming week). What did happen is that I poked a hole into parrot, and the community (nine) fixed it. The story: I started my 'loader' script by directly invoking a subroutine. That by-passed the starting of a green thread on the interpreter, which caused a crash when I tried to do something with that thread, such as sleeping. Nine fixed this issue by starting a green thread upon invocation using the api, which causes my tests to crash no more.

Unfortunately, he also said the fix wasn't quite ready yet to be merged. However, this will not be an issue for very long anymore, because I plan on changing the original circumstances which caused the bug in the first place. As I measured recently, interpreter construction doesn't take such a long time, after all (about 0,0006 seconds on my machine, as amortized by 100.0000 constructions. Not super-fast, but passable). Thus, I can run user scripts in their own interpreter, which I can invoke in the regular way (Parrot_api_run_bytecode), which does in fact start a green thread. All I have to do now is not sleep in a loader.

The good news of it all, is that the PSGI/Rack loader works, at least in principle. Thus, it becomes feasible to think of writing a real application using mod_parrot. This is exciting!