Afaik, this will do the rough equivalent of a [delay 0] across threads, so that your (Ben's) thread's execution is inserted between two t_clock events ([delay], [metro], etc.)
not really ... [delay 0] will schedule the outlet during the next dsp tick in the pd thread ...
uh, i haven't read that part of the code in detail, but wouldn't that be _before_ the next dsp tick instead? (I was likening sys_lock to the use of [delay] in a single-threaded setting, I wasn't suggesting to use the real [delay] in a multi-thread setting)
tick: - timer callbacks - signal processing
waiting for the interpreter lock requires the os to schedule the thread, the function and all triggered object functions, are called in the object thread ...
I was beginning to reply to this paragraph, but I realised that I don't understand the grammar of it. Could you please rephrase?
|threaded object a| | |trivial object b|
thread of object a: - call sys_lock(), blocking - os wakes this thread - call inlet handlers of object b - ...
tim