The correct answer is probably "try it"; but I just want to see if there are non-deterministic gotchas I need to be aware of.
I have the following setup in mind:
I have C++ ffi that create threads. Real Linux OS threads.
So I startup gambit gsi (in OS thread 0) ; it calls the C++ ffi code; creating linus OS thread (OS Thread 1) in the same address space.
OS Thread 1 never makes any calls to gambit. Thread 0 & Thread 1 do not have any race conditions in C++ land.
Are there any other gotchas I should worry about, or am I relatively safe?
Months ago, I was complaining about gc pauses; well now, I've moved rendering entirely into C++ land with it's own thread and all that. Now, I'm thinking of bringing gambit back in.
In particular, I'm planning on using the pthreads library.
Thanks!