[過去ログ] bbs.cgi再開発プロジェクト6 (472レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
198: 株価【858】 △△ ◆cZfSunOs.U 2007/12/18(火)11:52 ID:Ifuf27KA0(3/4) AAS
あくまで推測ですが,speedy <-> speedy_backend 間の通信(Unix ドメインソケット経由)が
qb5 / qb6 の環境ではエラーになりやすいということかも知れないのではないかなぁ,と.
SpeedyCGI のソースを見てみると
----------------------------------------------------------------------
外部リンク[c]:speedycgi.cvs.sourceforge.net
  388 /* Create sockets in preparation for connect.  This may take a while,
  389 * esp on FreeBSD, when it's out of sockets.
  390 */
  391 if (!sockets_open++)
  392     speedy_ipc_connect_prepare(socks);

外部リンク[c]:speedycgi.cvs.sourceforge.net
   22 #ifdef ENOBUFS
   23 #   define NO_BUFSPC(e) ((e) == ENOBUFS || (e) == ENOMEM)
   24 #else
   25 #   define NO_BUFSPC(e) ((e) == ENOMEM)
   26 #endif

   48 static int make_sock(void) {
   49     int i, fd;
   50
   51     for (i = 0; i < 300; ++i) {
   52 fd = socket(AF_UNIX, SOCK_STREAM, 0);
   53 if (fd != -1)
   54     return fd;
   55 else if (NO_BUFSPC(errno)) {
   56     sleep(1);
   57     speedy_util_time_invalidate();
   58 }
   59 else
   60     break;
   61     }
   62     speedy_util_die("cannot create socket");
   63     return -1;
   64 }

  180 void speedy_ipc_connect_prepare(int socks[NUMFDS]) {
  181     int i;
  182     for (i = 0; i < NUMFDS; ++i)
  183 socks[i] = make_sock();
  184 }
----------------------------------------------------------------------
FreeBSD では socket(AF_UNIX, SOCK_STREAM, 0) が ENOBUFS になりやすいということかも?
そこで,ENOBUFS になりにくいようにするにはどうしたらいいか,というのがポイントかも知れないんじゃないかと......

あと,こんなのもあるようですが......

UNIX domain sockets MFC's
外部リンク[html]:unix.derkeiler.com
1-
あと 274 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.076s*