From comments: /** * Registers the calling thread for use with the D Runtime. If this routine * is called for a thread which is already registered, the result is undefined. */ I think this is bad design. There is no good way to know if the current thread is attached to the runtime, so how am I supposed to work around this? - Alex