joyent/node — comment on commit 2b0bdc83a72292f51d2700145666cf299ce2e2b3
File:  line 0
By paddybyers:

I went for minimum change to the current API - not necessarily because that's the best API, but to make it easier to track upstream. So I'm sure there is room to improve it.

Anyway, FWIW the Isolate API is here; https://github.com/paddybyers/node/blob/master-isolate/src/node.h#L128

This API forces you to create a thread - and I think your idea of having a method that includes creation of the thread is useful as well - and enter Isolate::Start(). You pass in an argv in the same way as to the regular node::Start(), or alternatively a uv_process_options_t, which is used for fork().

I think the best might be to have two entrypoints; one that creates the thread and one where the caller's thread enters the loop and blocks there.

Are there any special requirements on a caller-supplied thread that enters the loop? Joinable? Or only if the caller itself wants to join()?