Fix bugs in src/core/semaphore.cpp