タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

socketとlinuxに関するkarupaneruraのブックマーク (2)

  • 親子関係のないプロセス間でファイルディスクリプタを共有する - tmtms のメモ

    UNIX や Linux でプロセス間でファイルディスクリプタを共有するには、ファイルディスクリプタを作成後に fork して親子間で共有するという方法が良く取られますが、UNIXドメインソケットを使って、親子関係のないプロセス間でファイルディスクリプタを受け渡すことができます。 C だといろいろ面倒なのですが、Ruby だと UNIXSocket#send_io と #recv_io を使って簡単に実現できます。 sender.rb require 'socket' File.unlink 'socket' rescue nil sock = UNIXServer.new 'socket' s = sock.accept f = File.open ARGV.first s.send_io f receiver.rb require 'socket' sock = UNIXSocket.

    親子関係のないプロセス間でファイルディスクリプタを共有する - tmtms のメモ
  • Linux kernel 3.9 の新機能 SO_REUSEPORT を試してみる - nigakyのブログ

    Linux kernel 3.9 のマージウィンドウでは SO_REUSEPORT というソケットオプションがマージされました。 Merge branch 'soreuseport' · c617f39 · torvalds/linux · GitHub これは同一ポートに複数のリスナー(listen ソケット)が bind できるようになるというもので、Webサーバなど単一のポートに多くのコネクションが来るようなワークロードで、複数プロセスでうまく負荷分散ができるようになるそうです。 (これまでだと一人がaccept()してそれぞれの worker に渡すというようなモデルがありましたが、これでは accept() する部分がボトルネックになってしまいがちでした。) BSDでは元々 SO_REUSEPORT オプションはあったようですが、マルチキャスト通信で使うもののようです。Linux

    Linux kernel 3.9 の新機能 SO_REUSEPORT を試してみる - nigakyのブログ
  • 1