在Cygwin下使用SystemV信号量:错误的系统调用
我在Cygwin下的POSIX信号量有问题,我尝试了以下方法:在Cygwin下使用SystemV信号量:错误的系统调用,cygwin,semaphore,sysv-ipc,Cygwin,Semaphore,Sysv Ipc,我在Cygwin下的POSIX信号量有问题,我尝试了以下方法: $ semtool c 1 Attempting to create new semaphore set with 1 members Bad system call $ 上面的semtool尝试创建(通过semget、semctl等sys.calls)一个新的信号量。但是它不起作用:糟糕的系统调用 另外,一个使用semget()的极简测试C程序也无法发出相同的消息:错误的系统调用 我已经在谷歌上搜索过了:安装了cygserver
$ semtool c 1
Attempting to create new semaphore set with 1 members
Bad system call
$
上面的semtool尝试创建(通过semget、semctl等sys.calls)一个新的信号量。但是它不起作用:糟糕的系统调用
另外,一个使用semget()的极简测试C程序也无法发出相同的消息:错误的系统调用
我已经在谷歌上搜索过了:安装了cygserver,将环境变量CYGWIN定义为“server”,但没有任何帮助。我的cygwin版本非常新:
$ cygcheck -c | grep cygwin
base-cygwin 3.0-1 OK
cygwin 1.7.9-1 OK
cygwin-doc 1.7-1 OK
cygwin-x-doc 1.1.1-1 OK
$
有什么想法/提示可能还缺少什么
现在尝试使用其他导出:
$ export CYGWIN=server
服务正在运行
$ net start | grep -i cyg
CYGWIN cygserver
$
没有更多错误:
$ semtool c 1
Attempting to create new semaphore set with 1 members
$
现在好像工作了 cygserver正在运行吗
更新:这在Windows 7下对我有效:
此时,我可以运行semtool来创建/锁定/解锁信号量,也可以运行semstat来显示其状态。是,它正在运行。我在两台Windows机器上试过,W2K和W7,结果相同。谢谢你的回答,非常感谢!我正在使用cygwin 1.5.25-15 BTW。感谢您的帮助和支持!关于semget、semctl,这些不是与POSIX信号量相关的系统调用,而是system-V。请注意问题的名称,它应该是system-V而不是POSIX。