[#30426] CGI でグラフを描くときにお勧めのライブラリは? — 堀川 久 <vzw00011@...>
こんにちは。
宮内といいます。
高橋征義です。
[#30453] syntax check without execution? — Tanaka Akira <akr@...17n.org>
最近、eRuby のまねごとをしていて、そのなかで Ruby のコードを生成してい
まつもと ゆきひろです
In article <994217165.945078.13509.nullmailer@ev.netlab.jp>,
まつもと ゆきひろです
Yukihiro Matsumotoさんの<994219298.882129.13585.nullmailer@ev.netlab.jp>から
[#30479] Object#dup — "Shin'ya Adzumi" <adzumi@...>
あづみです。
まつもと ゆきひろです
あづみです。
わたなべです。
[#30507] Ruby/Tk TkPhotoImage#data — Noritsugu Nakamura <nnakamur@...>
[#30512] open errno EALREADY triggerd — "Inoue" <inoue@...>
井上です。
井上です。
[#30514] Ruby module frame work? — Takahiro Kambe <taca@...>
こんにちは。
まつもと ゆきひろです
In message <994643239.367096.2557.nullmailer@ev.netlab.jp>
[#30522] Walrus (WEB Application Server) — NAKAJIMA Taku <tnaka@...>
中島@ブレーンです。
[#30523] RTtool & RDindex new package — rubikitch <rubikitch@...>
るびきちです。
こんにちは,とみながです.
From: Kazuto Tominaga <tominaga@snake.m.ns.it.teu.ac.jp>
[#30529] InterBase を使用したい — "YOUJI KUROKAWA" <CQE10242@...>
環境
黒川です たいへんおせわになっております。
[#30530] Question about script on the book "Ruby nyuumon" — NAWATE Masahiko <agul@...>
縄手@松江と言います。
From: NAWATE Masahiko <agul@mag.shimane-u.ac.jp>
縄手@松江です。
From: NAWATE Masahiko <agul@mag.shimane-u.ac.jp>
At Tue, 10 Jul 2001 00:26:41 +0900,
From: "Akinori MUSHA" <knu@iDaemons.org>
[#30551] RTtool 0.1.4 (was Re: RTtool & RDindex new package) — Takahiro Kambe <taca@...>
こんにちは。
From: Takahiro Kambe <taca@sky.yamashina.kyoto.jp>
In message <20010710035601.TZZG14050.mail.rdc1.kt.home.ne.jp@witch>
[#30552] 名前の異なるコンストラクタを複数持つには? — keiichi matsunaga <ma2@...>
はじめまして。松永と言うものです。
[#30586] case 文で文字列を判断したい — Takuo Tabata <taku@...>
[#30601] ruby-1.6.4 build on gcc-3.0/glibc-2.2.3/kernel-2.4.7pre5 — KUSUNOKI Masanori <masanori@...>
楠です
[#30614] ライブラリから別のライブラリを呼び出すときのパスについて — keiichi matsunaga <ma2@...>
松永です。
[#30622] RDtool requires amstd? — Kazuhiro NISHIYAMA <zn@...>
RDtool 0.6.10のインストールが
[#30649] \ mark in path of a script — "Y.ITO" <gfh05223@...>
はじめまして。Ruby/eRuby を最近使い始めたばかりです。
[#30655] XMLParser & DTD — skoba@... (KOBAYASHI Satoshi)
はじめまして、小林@豊橋技術科学大学です。
[#30680] overwride method — "Inoue" <inoue@...>
井上です。
[#30692] Ruby 開発環境のご紹介 — 斉藤和樹 <QZS01353@...>
はじめまして、斉藤と申します。
[#30705] 下位バイト 0x5c の文字が化けてしまいます — "ANAKI Kyosuke" <anaki@...>
初めまして。穴木と申します。まったくのRuby初心者です。どうぞよろしくお願い
[#30725] mswin32 版の改行コード — "Y.ITO" <gfh05223@...>
先日はeRuby mswin32最新版の件でお世話になりました。
[#30731] irb で Thread.critical = true — Kazuhiro NISHIYAMA <zn@...>
irbでThread.critical = trueにすると別スレッドが動き続けるのですが。
[#30734] UML クラス図と Ruby の記述についての対応 — Ken-ichi HASHIMOTO <ken@...>
橋本@福井県在住です。
[#30738] cgi について — 岩本次郎 <jiro3@...>
岩本次郎です。
[#30755] ruby-orbit support server side — Dai <MAP2303@...>
[#30764] int/int => float? — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
KONISHI Hiromasaです。
いけがみです。
けいじゅ@日本ラショナルソフトウェアです.
あべです。
KONISHI Hiromasaです。
あづみです。
けいじゅ@日本ラショナルソフトウェアです.
まつもと ゆきひろです
たけ(tk)です。
まつもと ゆきひろです
けいじゅ@日本ラショナルソフトウェアです.
[ruby-list:30605] Re: open errno EALREADY triggerd
井上です。なんとか回避?できるようになりました。
以下、長文です。
私の環境で確認した出来事です。
OS WindowsNT4.0Server
$ uname -a
CYGWIN_NT-4.0 ????? 1.3.2(0.39/3/2) 2001-05-20 23:28 i686 unknown
$ ruby --version
1.6.4 (2001-06-01) [i686-cygwin]
$ gcc --version
2.95.3-4
xyzzy(エディタ) 0.2.1.198
テストプログラム test2.rb
require 'socket'
host = "www.yahoo.co.jp"
port = 80
path = "/"
sock = TCPSocket.open(host, port)
sock.print "GET / HTTP/1.0\n\n"
while sock.gets
print $_
end
sock.close
このプログラムは、通常DOSで実行した場合は問題なく動きます。
しかし、xyzzyで動かすと、
test2.rb:10:in `open': errno EALREADY triggered - "connect(2)"
(Errno::EALREADY)
from test2.rb:10
となります。
また、私のしょぼいライブラリを不可しただけで、
require 'mylib' #<== 恥ずかしくて絶対にみせられない
require 'socket'
host = "www.yahoo.co.jp"
port = 80
path = "/"
sock = TCPSocket.open(host, port)
sock.print "GET / HTTP/1.0\n\n"
while sock.gets
print $_
end
sock.close
を実行すると、DOSでも
test2.rb:10:in `open': errno EALREADY triggered - "connect(2)"
(Errno::EALREADY)
from test2.rb:10
となります。(変なライブラリを書いただけでも起きたので、パニくりました。
ここの真相究明の方が、私にとっては重要事項(笑))
しかし、socket.cの file://部分を付加すると、上の2つは問題なく動作しました。
cygwin環境限定のソースを書きましたが、(ほぼ丸写し)私はあまり知識が無いの
で、
これを正しく直していただければ助かります。
問題が回避できましたが、これはどういう背景でおきたのでしょうか。
イベントの取りこぼし?(かなり想像)でしょうか?
とりあえず、xyzzyユーザーにも恩恵があるみたいなので、
原因の確信が持てた時点で xyzzy-mlに流そうと思います。
誰か的確なコメントで流してくれるといいけど・・・・
static int
ruby_connect(fd, sockaddr, len, socks)
int fd;
struct sockaddr *sockaddr;
int len;
int socks;
{
int status;
int mode;
#if defined(HAVE_FCNTL)
mode = fcntl(fd, F_GETFL, 0);
#ifdef O_NDELAY
# define NONBLOCKING O_NDELAY
#else
#ifdef O_NBIO
# define NONBLOCKING O_NBIO
#else
# define NONBLOCKING O_NONBLOCK
#endif
#endif
#ifdef SOCKS5
if (!socks)
#endif
fcntl(fd, F_SETFL, mode|NONBLOCKING);
#endif /* HAVE_FCNTL */
for (;;) {
#if defined(SOCKS) && !defined(SOCKS5)
if (socks) {
status = Rconnect(fd, sockaddr, len);
}
else
#endif
{
status = connect(fd, sockaddr, len);
}
if (status < 0) {
switch (errno) {
// この部分 私のあやふやな知識で解釈しながら書きました。(ほぼ
丸写し)
file://case EALREADY:
// {
// struct timeval tv;
// tv.tv_sec = 0;
// tv.tv_usec = 100000;
// rb_thread_wait_for(tv);
// }
// thread_write_select(fd);
// continue;
// break;
case EAGAIN:
#ifdef EINPROGRESS
case EINPROGRESS:
#endif
thread_write_select(fd);
continue;
#ifdef EISCONN
case EISCONN:
status = 0;
errno = 0;
break;
#endif
}
}
#ifdef HAVE_FCNTL
fcntl(fd, F_SETFL, mode);
#endif
return status;
}
}
以上。