This is a dubious paragraph. There is no notion of a "C thread" versus a "rust thread", all C code is called inline on the rust stack, also the same thread of execution.

This paragraph is good in that it warns of the dangers of calling C code, but there are no problem with synchronization except among C threads themselves. I think this section should be revised to:


> All C code is called on the same stack as all Rust code, and on the same thread as Rust code. Some things to keep in mind when doing this are:
> 
> * Access of globals in C need to be synchronized, as many rust tasks can be calling C code at once.
> * Unwinding (failing) across C code is not guaranteed to work (even if it does now)
> * C code should *not* block the OS thread because this is not suitable for all rust tasks

Or something along those lines.
```