What if Rust code is called by a thread created by C code using pthread_create?

Presumably that would create a new native task at the first attempt to get a ~Task (maybe it doesn't do that right now, but it's the only sensible thing to do).

However, in try_lock, we don't try to get a ~Task before accessing a mutex, so we effectively have a non-Task taking the mutex.

But there can be at most one, since at most one can succed in the try_lock.