[前][次][番号順一覧][スレッド一覧]

sylpheed-jp:1102

From: Hiroyuki Yamamoto <yamamoto@xxxxxxxxxx>
Date: Wed, 17 Oct 2001 13:16:38 +0900
Subject: [sylpheed-jp:01102] Re: connect(2) のブロックについて

山本です。

On Wed, 17 Oct 2001 13:05:50 +0900
HIRAMATU Masami <hiramatu@xxxxxxxxxx> wrote:

> On Wed, 17 Oct 2001 12:49:12 +0900
> KATAYAMA Kenichiro <katayama@xxxxxxxxxx> wrote:
> 
> > これを解消するために、fcntl(2)によってソケットを非停止(non-blocking)モード
> > に設定し、connect(2)をコールしたソケットをgdk_input_add()に放り込んでしま
> > うというのは如何でしょうか。
> > 
> 
> 確かかなり前にこの機能は実装されていると思います。
> コードがあるだけかもしれませんが。

いずれにしても gethostbyname(), getaddrinfo() で固まってしまうので、
結局あんまり効果がないということで今は使われていないような(^^;
Windows への移植を考えたときも面倒らしいですし(Werner Koch氏談)。

本質的な解決法としてはネットワーク回りを別スレッド/プロセスにしてしまう
必要があると思います。

# 今はデータ転送中一定間隔で GTK+ のイベントを flush して強引に
# マルチタスクしているというアレゲな状態なので(^^;

-- 
Hiroyuki Yamamoto <yamamoto@xxxxxxxxxx>
http://www.good-day.co.jp/    (Good-Day)
http://www.good-day.net/      (Good-Day.NET)
http://sylpheed.good-day.net/ (Sylpheed)


[前][次][番号順一覧][スレッド一覧]

      1100 2001-10-17 12:49 [katayama@xxxxxxxxxx ] connect(2) のブロックについて           
      1101 2001-10-17 13:05 ┗[hiramatu@xxxxxxxxxx ]                                       
->    1102 2001-10-17 13:16  ┗[yamamoto@xxxxxxxxxx ]                                     
      1110 2001-10-19 01:37   ┗[katayama@xxxxxxxxxx ]