Cygwin での POSIX セマフォに問題があります。次のことを試しました。
$ semtool c 1
Attempting to create new semaphore set with 1 members
Bad system call
$
上記の semtool は、(semget、semctl などの sys. 呼び出しを介して) 新しいセマフォを作成しようとします。ただし、機能しません: 不正なシステム コールです。
また、semget() を使用する最小限のテスト C プログラムは、同じメッセージを吐き出して失敗します: Bad system call.
私はグーグルをしました:cygserverをインストールし、環境変数CYGWINを「サーバー」に定義しましたが、何も役に立ちませんでした。私のバージョンの 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
$
今はうまくいくようです!