之前sem_open在iOS上, 创建命名的semaphore没有问题 (iOS不支持匿名的semaphore), 但是现在Android平台的sem_open时候报错,返回ENOSYS.
命名的semaphore因为有名字,可以在不同进程间访问,
幸好我这里不需要进程间共享和通信, 直接使用匿名semaphore也可以. (貌似匿名的semaphore也可以通过mmap实现进程共享和通信.但目前没有需求).
使用sem_init 和 sem_destroy代替 sem_open和 sem_close, 问题解决.