このように使用する場合write
:write (fd, buf, 10000000 /* 10MB */)
どこfd
にソケットがあり、ブロッキング I/O を使用している場合、カーネルはできるだけ多くのバイトをフラッシュして、1 回の呼び出しだけで十分になるようにしますか? write
または、戻り値に応じて数回呼び出す必要がありますか? それが起こる場合、それは何かが間違っていることを意味しfd
ますか?
==============================編集================== =============
すべての答えをありがとう。さらに、 を入れfd
てpoll
で正常に返された場合POLLOUT
、 への呼び出しはブロックできず、 ?write
に何か問題がない限り、すべてのデータを書き込みます。fd