問題タブ [sysv-ipc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
116 参照

c - Linux System V Msg Queues の待機中のリーダー/ライターを見つけるにはどうすればよいですか?

私は、System V キューを使用する C/C++ コードを HP-UX から Red Hat Linux (SVr4) に移植する任務を負っています。

ほとんどの呼び出しは問題なく変換されましたが、特定のキューで待機中のリーダーとライターを検出することに関連する特定の問題が 1 つあります。

HP ではmsgctl(IPC_STAT)、特定のキューに関する詳細を含む msqid_ds 構造体を取得するために使用できます。

この構造体の詳細には short 値msqid_ds.msg_perm.modeがあり、下位 9 ビットを使用して、ユーザー/グループ/その他の読み取り/書き込みアクセス許可を指定します。

ただし、HP では、上位 7 ビットには、2 つのフラグに続くフラグを含む他の状態情報が格納されます。

これにより、たとえば、(msqid.msg_perm.mode & (MSG_RWAIT | MSG_WWAIT))キュ​​ーでブロックされているリーダーまたはライターがあるかどうかをテストできます。

Linux に移植しているので、この機能が同じではないことは明らかです。これらのフラグの定義は存在せず、 の値にmsqid_ds.msg_perm.modeは明らかに上位ビット情報がありません。

しかし、確かに、これらのキューのリーダーとライターが維持されるカーネル操作があります。この情報を発見するために何らかの操作を呼び出すことができることを願っています。

0 投票する
3 に答える
2940 参照

php - PHP sem_get 関数が失敗する

予約サービスに使用されるデータベース テーブルへの挿入に対するアクセス制御を実装しました。しばらくの間は問題なく動作しますが、関数は毎回sem_get()呼び出すにもかかわらず失敗します。sem_release()sem_get()

私も電話sem_remove()したほうがいいですか?

このサイトの手順に従いました。

0 投票する
2 に答える
2594 参照

c - 削除する前に共有メモリから切り離す

共有メモリを使用していくつかのプロセスを実行しているときに、1 つを除いてすべてのプロセスを切り離します。

  1. shmctl()(そのプロセスで)共有メモリを削除する前に、最後のプロセスを切り離すことは理にかなっていますか?
  2. それが意味をなさない場合、共有メモリを切り離した後に削除することは可能ですか?
0 投票する
1 に答える
474 参照

c - パス名「.」の意味 ftok() の使用

クライアントとサーバー間の共有メモリ IPC を実装する次のプログラムに出会いました。

次の行は、一意の sysv キーを生成するために使用されます (ここで説明したように)。

パス名「.」とは この場合の意味は?私はLinuxにまったく慣れていないので、明確な答えをいただければ幸いです。