問題タブ [fcntl]
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.
ios - ソケットを作成したプロセスの pid を取得する
ソケットを確立したプロセスの pid を取得するにはどうすればよいですか。私はこのPDF リンクを調べました。彼はCalling fcntl() with F_SETOWN and the pid of our process に言及し、それがソケットの所有者であることをプロセスに伝えました。
c - fcntl() および fwrite() を使用してリモートでファイルに書き込む
サーバー上のファイルに書き込もうとすると、いくつかの問題が発生します。さまざまなクライアントが読み取り/書き込み要求を実行できます。書き込み要求が行われたときにファイルをロックするために fcntl() を使用しています。ただし、プロセス(クライアント)がロックを取得し、別のプロセスがロックを取得しようとすると、ファイルの内容が削除されます。なぜこれが起こっているのですか?以下は私が話しているコードです:
c - F_GETFL fcntl コマンドの引数が必要になるのはいつですか?
移植可能ですか: flags = fcntl(fd, F_GETFL);
(注: いいえarg
)?
LinuxとFreeBSDの両方のマニュアル ページでは、これarg
は無視されると述べています。
void
Linux のドキュメントでarg
は、必要ないことを意味します。
関連フラグの POSIX からF_GETFD
の使用例を次に示します。
(今日)arg
には必要ないことを示しています。F_GETFD
次に、次のように述べています。
F_GETFD、F_SETFD、F_GETFL、および F_SETFL への arg 値はすべて、将来の拡張を可能にするフラグ値を表します。
それは将来的にF_GETFL
使用される可能性があることを意味しますか?arg
Ohloh コードで "F_GETFL" をすばやく検索すると、ほとんどのオープンソース プロジェクトが合格arg
するという印象が生まれます(通常0
、場合によってNULL
は、または (壊れた?) 場合もあります&fl
)。fcntl(fd, F_GETFL, 0)
が好ましい形式である理由がわかりません。@Wumpus Q.Wumbleyは、フォームも使用する「UNIX環境での高度なプログラミング」ブックが原因である可能性があることを示唆していfcntl(fd, F_GETFL, 0)
ます。
3 番目の引数を必要とするシステム/コンパイラはありflags = fcntl(fd, F_GETFL, 0);
ますか? 現在または将来 (準拠した実装を前提として) 異なる結果fcntl(fd, F_GETFL)
を生成できますか?fcntl(fd, F_GETFL, 0)
c - F_SETPIPE_SZ が宣言されていません
次のヘッダーを含めました。
私も使ってみました
の前#include <unistd.h>
ですが、それも役に立ちません。
2 番目の引数として使用fcntl
して渡そうとしましたが、次のエラー メッセージが表示され続けます。F_SETPIPE_SZ
エラー: 'F_SETPIPE_SZ' が宣言されていません (この関数で最初に使用)
実はこれは必要ないことがわかったのですが、なぜ使えないのか気になります。
ありがとうございました。
Chrono Kitsune のおかげで、ここに解決策があります。
インクルードの前。