If we target only MRI there is no need for locking or even compare and swap operations; on the other hand, if this extension would run also under rubinius we have to manage concurrency.
Does anybody have any experience with rubinius and C extensions? The official [documentation](http://rubini.us/doc/en/systems/c-api/) is a "bit" incomplete