[#25636] [Oniguruma 3.X] reggnu.c — "K.Kosako" <sndgk393@...>
さっき気がついたのですが、元々は
まつもと ゆきひろです
Yukihiro Matsumotoさんの
斉藤です。
Kazuo Saito wrote:
[#25647] C level set_trace_func — Shugo Maeda <shugo@...>
前田です。
まつもと ゆきひろです
前田です。
[#25655] openssl binding for SSL_CTX_set_default_verify_paths and X509_STORE_set_default_paths — Tanaka Akira <akr@...17n.org>
open-uri で https を扱うことを考えていろいろと調べていた所、openssl で、
In message <876513vce0.fsf@serein.a02.aist.go.jp>,
In article <20050211.053825.291449071.gotoyuzo@sawara.does.notwork.org>,
In article <87psz6gcfh.fsf@serein.a02.aist.go.jp>,
In message <87ll9thnng.fsf@serein.a02.aist.go.jp>,
In article <20050213.021305.304099822.gotoyuzo@sawara.does.notwork.org>,
[#25700] BUG on thread and block? — sheepman <sheepman@...>
こんばんは、sheepman です。
[#25712] core dump with GC in rb_thread_save_context — Tanaka Akira <akr@...17n.org>
昨日の夜からとあるプログラム (五月雨) が 4回ばかり core を吐いていて、
[#25713] pthread trouble on sighandler — Hidetoshi NAGAI <nagai@...>
永井@知能.九工大です.
まつもと ゆきひろです
永井@知能.九工大です.
まつもと ゆきひろです
永井@知能.九工大です.
[#25726] named capture — Kazuhiro NISHIYAMA <zn@...>
西山和広です。
[#25741] Oniguruma 3.7.0 — Kazuo Saito <ksaito@...>
斉藤です。
[#25755] I/O operation differs signal handler — Minero Aoki <aamine@...>
青木です。
In article <20050224091450P.aamine@loveruby.net>,
In article <1109213650.235317.11155.nullmailer@x31.priv.netlab.jp>,
まつもと ゆきひろです
In article <1109224128.668484.13752.nullmailer@x31.priv.netlab.jp>,
[ruby-dev:25763] Re: I/O operation differs signal handler
In article <1109226932.312122.14623.nullmailer@x31.priv.netlab.jp>,
Yukihiro Matsumoto <matz@ruby-lang.org> writes:
> あ、そうか。これを止めると悪影響が出ますかね。大抵のところで
> はEINTRに対応していると思うのですが(SIGVTALRM対応があるので)。
[ruby-dev:25758] に書いたように、「SA_RESTART を一時的に抜くのはありか
もしれませんが毎回やるのはオーバーヘッドが気になり、さりとてずっとそう
しておくのは他のライブラリの迷惑になります」という認識です。
Ruby 自身が EINTR を処理できるときにはいいのですが、他のライブラリ内で
の扱いが問題になります。
たとえば、とある stdio というライブラリにはそういう問題があって、1.9
では (あまり) 使ってないんで発症させられないのですが、1.8 では次のよう
に発症させられます。
% ./ruby -ve '
r, w = IO.pipe
w.sync = false
n = 1000
fork {
w.close
loop {
sleep 0.1
s = r.read(n); p [s.length, s]
sleep 0.1
s = r.read(n); p [s.length, s]
}
}
Thread.new { loop {} }
fork {
loop {
Process.kill("VTALRM", Process.ppid)
}
}
r.close
loop {
w.write("a" * n)
w.write("b" * n)
}
'
ruby 1.8.2 (2005-02-23) [i686-linux]
...
[1000, "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa!
aaaaaaaaaaaaaaaaaaa"]
このスクリプトは a を 1000byte, b を 1000byte と繰り返しパイプに送り込
み、受け取るものですが、しばらく動かしていると上のように a と b の境界
がずれていきます。
まぁ、1.9 では stdio は使っていないから問題ない、という主張は可能でしょ
うが、stdio でさえ対応してないんだから他のライブラリも怪しいんじゃない
かと考えるのが順当じゃないですかね。
--
[田中 哲][たなか あきら][Tanaka Akira]