So, it turns out that OS X doesn't support `sem_init`, only named semaphores created via `sem_open`. This call fails (and we don't check the error condition here), leading to the future use of `sem_wait` on [line 190](https://github.com/basho/leveldb/blob/1b3b6ab35eb794e51eefee131c2ac04542c489fd/util/hot_threads.cc#L189-L190) to immediately return with an error (which we also don't check for), causing the safety thread to loop endlessly. On OS X, opening a LevelDB instance without even reading/writing to it results in 200% CPU usage while the two safety threads busy wait.

On Linux, everything works as intended.

I imagine this is something we need to fix. While no one uses OS X in production, it is a common Riak development platform and increasingly the first platform someone who downloads Riak first tries it on. For better or worse.

Should we just fall back to using named semaphores inside the relevant LevelDB directory via `sem_open` when on OS X?