[#23026] ruby compile/ruby-gtk — Taiji.Can@...
[#23031] description on fork and Process.fork — kjana@... (YANAGAWA Kazuhisa)
マニュアルみてて思ったんですけど,fork の記述に「失敗したら例外があが
In message <200006021503.AAA19483@mail3.os.xaxon.ne.jp>
In message <200006081406.e58E6JA16512@edge.sky.yamashina.kyoto.jp>
In message <200006091328.WAA23409@mail2.os.xaxon.ne.jp>
まつもと ゆきひろです
有馬です。
新井です。
まつもと ゆきひろです
[#23032] Racc Array#filter -> collect! — Toshiro Kuwabara <toshirok@...3.so-net.ne.jp>
Toshです。
[#23052] UTF-8 on print method — kenn@...
長沢です。
>SJIS に無い文字を出力する場合はどうすれば良いんでしょうか?
高橋征義です。
[#23061] rfc822.rb parse error — Hideto ISHIBASHI <hideto-i@...4u.or.jp>
石橋"rubyholic"秀仁です。
日時 Mon, 5 Jun 2000 21:23:17 +0900 の
[#23088] 文字列置換 — Takayuki Tanaka <tanaka@...>
Ruby初心者のTanです。
[#23095] setup.rb testrun — rubikitch <rubikitch@...>
るびきちです。
[#23096] http.rb will change — Minero Aoki <aamine@...>
あおきです。
まつもと ゆきひろです
高橋征義です。
まつもと ゆきひろです
青山です。
高橋です。
青山です。
高橋征義です。
青山です。
あおきです。
高橋征義です。
あおきです。
高橋征義です。
TAKAHASHI Masayoshi <maki@inac.co.jp> wrote:
あおきです。
直井と申します.
In message "[ruby-list:23263] synchronize or lock"
In message <200006142243.HAA20586@hanare00.math.sci.hokudai.ac.jp>
[#23116] making Array — OZAWA Sakuro <crouton@...>
さくです。
[#23125] メソッドの中の動きを変える — Masahiro Kawata <kawata@...>
こんにちわ。かわた まさひろと申します。
From: Masahiro Kawata <kawata@titan.co.jp>
[#23156] ports — Wakou Aoyama <wakou@...>
青山です。
長沢です。
青山です。
青山です。
青山です。
まつもと ゆきひろです
青山です。
青山です。
まつもと ゆきひろです
青山です。
Toshです。
青山です。
Toshです。
青山です。
Toshです。
青山です。
Toshです。
[#23161] RDtool trouble. — rubikitch <rubikitch@...>
るびきちです。
[#23168] media watch 2000.06.08 — Noritsugu Nakamura <nnakamur@...>
[#23169] Kconv::guess(str) — NAWATE Masahiko <agul@...>
縄手@松江です。
In message "[ruby-list:23169] Kconv::guess(str)"
日時 Mon, 12 Jun 2000 22:10:19 +0900 の
[#23185] commonly used notation — Hideto ISHIBASHI <hideto-i@...4u.or.jp>
石橋"rubyholic"秀仁です。
[#23197] self の振る舞いを書き換えたいです — Kenya Ogata <k_ogata@...>
こんにちは、おがたといいます。
[#23222] readablity of RD — TAKAHASHI Masayoshi <maki@...>
高橋征義です。
Toshです。
From: TAKAHASHI Masayoshi <maki@inac.co.jp>
高橋征義です。
おがたといいます。
Toshです。
おがたです。いくつか考えうる解決案を。
Toshです。
青山です。
青山です。
Toshです。
青山です。
Toshです。
青山です。
Toshです。
青山です。
Toshです。
青山です。
Toshです。
まつもと ゆきひろです
Toshです。
まつもと ゆきひろです
Toshです。
まつもと ゆきひろです
青山です。
まつもと ゆきひろです
Toshです。
From: Toshiro Kuwabara <toshirok@yb3.so-net.ne.jp>
まつもと ゆきひろです
Toshです。
From: Toshiro Kuwabara <toshirok@yb3.so-net.ne.jp>
Toshです。
まつもと ゆきひろです
[#23235] nkf MIME space handling — "Kikutani, Makoto" <kikutani@...>
nkfモジュールは、MIMEのデコードもしてくれますが、
わたなべです.
日時 Wed, 14 Jun 2000 13:27:29 +0900 の
こんにちは。鈴木教郎です。
日時 Wed, 14 Jun 2000 16:10:52 +0900 の
こんばんは。鈴木教郎です。
[#23277] net/smtp.rb extra lines ? — "Kikutani, Makoto" <kikutani@...>
どうも、最近自分の出したメイルに2行くらい余計な空行が最後に
[#23284] Ruby/zlib — Ueno Katsuhiro <unnie@...>
うえの@ぶるーすかいです。
[#23305] xmarshal.rb — Masatoshi SEKI <m_seki@...>
[#23311] UTF-8 in RubyBook — "Kikutani, Makoto" <kikutani@...>
Ruby本読み直しちう。
[#23356] rd2texi-lib.rb 最新版? — Noritsugu Nakamura <nnakamur@...>
[#23359] ASP — Yoshinori Tahara <platypus@...1.mbn.or.jp>
はじめまして、田原@鎌倉です。
[#23368] Message Digest (MD5) Function — Hagemu Higuchi <hahiguc@...11.odn.ne.jp>
cygwin32で使用しています。件名のような関数は
[#23372] (GMT+0500) — "Kikutani, Makoto" <kikutani@...>
curが堕ちる、というreportがあったので調べると日付が
あああ,ごめんなさい.脊髄で反応してしまいました (_ _).
[#23385] DBMS and ruby CGI — toyofuku@...
豊福です。
[#23410] Re: DBMS and ruby CGI — "Kahori Takeuchi" <EB89012@...>
なひです.
こんにちは、時田です。
[#23411] dump a single object — Hideto ISHIBASHI <hideto-i@...4u.or.jp>
石橋"rubyholic"秀仁です。
まつもと ゆきひろです
石橋"rubyholic"秀仁です。いろいろとゴタクが長いです (^^;
なひです.
石橋"rubyholic"秀仁です。咳さん、こんばんわ。
石橋"rubyholic"秀仁です。
まつもと ゆきひろです
石橋"rubyholic"秀仁です。
石橋"rubyholic"秀仁です。どうも。
石橋"rubyholic"秀仁です。どうも。
[#23454] MHC in RAA — Yoshinari Nomura <nom@...>
乃村@九大です。
まつもと ゆきひろです
[#23477] Re: DBMS and ruby CGI — toyofuku@...
豊福です。
[#23485] Ruby 1.4.5 — matz@... (Yukihiro Matsumoto)
Ruby 1.4.5 is out, check out:
小松です。
まつもと ゆきひろです
どぉも、道村です。
小松です。
小松です。
小林です。
小林です。
どぉも、道村です。
小松です。
どぉも、道村です。
どぉも、道村です。
[#23504] 拡張ライブラリの作り方 — Akimichi Tatsukawa <akimichi@...>
立川と申します。はじめて投稿します。よろしくお願いします。
さくです。
From: OZAWA Sakuro <crouton@duelists.org>
小松です。
[#23509] Dimension of array — agul@...
縄手@松江です。
わたなべです.
原です。
縄手@松江です。
[#23519] media watch 2000.06.24 — Noritsugu Nakamura <nnakamur@...>
[#23558] ruby-1.4.5 GNUmakefile — IWATSUKI Hiroyuki <don@...>
岩月と申します。
[ruby-list:23522] Re: Ruby 1.4.5
小松です。
In the message of [ruby-list:23521] Re: Ruby 1.4.5
on 2000/6/26 20:19:43 Katsuyuki Komatsu <komatsu@sarion.co.jp> wrote:
| select()がWSAENOTSOCKのエラーになった場合、ソケット以外のハンドル
| のみ読み込み可/書き込み可とみなす
|
|といったインプリメントに変える必要があります。
こんな感じです。
1.5.4も同様です。
Mon Jun 26 22:20:03 2000 Katsuyuki Komatsu <komatsu@sarion.co.jp>
* win32/win32.c (is_socket, extract_file_fd): New function.
* win32/win32.c (myfdopen): use is_socket().
* win32/win32.c (myselect): return non socket files immediately
if file and socket handles are mixed.
diff -ru1p ruby-1.4.5.dist/win32/win32.c ruby-1.4.5/win32/win32.c
--- ruby-1.4.5.dist/win32/win32.c Fri Feb 18 15:58:58 2000
+++ ruby-1.4.5/win32/win32.c Mon Jun 26 22:20:03 2000
@@ -1591,4 +1591,4 @@ my_open_osfhandle(long osfhandle, int fl
-FILE *
-myfdopen (int fd, const char *mode)
+static int
+is_socket(SOCKET fd)
{
@@ -1597,9 +1597,5 @@ myfdopen (int fd, const char *mode)
int retval;
- int fh;
- extern int errno;
- //fprintf(stderr, "myfdopen()\n");
-
- optlen = sizeof(sockbuf);
- retval = getsockopt((SOCKET)fd, SOL_SOCKET, SO_TYPE, sockbuf, &optlen);
+ optlen = sizeof(sockbuf);
+ retval = getsockopt(fd, SOL_SOCKET, SO_TYPE, sockbuf, &optlen);
if (retval == SOCKET_ERROR) {
@@ -1609,3 +1605,3 @@ myfdopen (int fd, const char *mode)
if (iRet == WSAENOTSOCK || iRet == WSANOTINITIALISED)
- return (_fdopen(fd, mode));
+ return FALSE;
}
@@ -1616,4 +1612,17 @@ myfdopen (int fd, const char *mode)
+ return TRUE;
+}
+
+FILE *
+myfdopen (int fd, const char *mode)
+{
+ if (is_socket((SOCKET)fd)) {
+ int fh;
+
fh = my_open_osfhandle((SOCKET)fd, O_RDWR|O_BINARY);
- return _fdopen(fh, mode); // return file pointer
+ return _fdopen(fh, mode); // return file pointer
+ }
+ else {
+ return (_fdopen(fd, mode));
+ }
}
@@ -1759,2 +1768,32 @@ static int NtSocketsInitialized = 0;
+static int
+extract_file_fd(fd_set *set, fd_set *fileset)
+{
+ int idx;
+
+ fileset->fd_count = 0;
+ if (!set)
+ return 0;
+ for (idx = 0; idx < set->fd_count; idx++) {
+ SOCKET fd = set->fd_array[idx];
+
+ if (!is_socket(fd)) {
+ int i;
+
+ for (i = 0; i < fileset->fd_count; i++) {
+ if (fileset->fd_array[i] == fd) {
+ break;
+ }
+ }
+ if (i == fileset->fd_count) {
+ if (fileset->fd_count < FD_SETSIZE) {
+ fileset->fd_array[i] = fd;
+ fileset->fd_count++;
+ }
+ }
+ }
+ }
+ return fileset->fd_count;
+}
+
long
@@ -1764,2 +1803,6 @@ myselect (int nfds, fd_set *rd, fd_set *
long r;
+ fd_set file_rd;
+ fd_set file_wr;
+ int file_nfds;
+
if (!NtSocketsInitialized++) {
@@ -1771,2 +1814,12 @@ myselect (int nfds, fd_set *rd, fd_set *
}
+ file_nfds = extract_file_fd(rd, &file_rd);
+ file_nfds += extract_file_fd(wr, &file_wr);
+ if (file_nfds)
+ {
+ // assume normal files are always readable/writable
+ // fake read/write fd_set and return value
+ if (rd) *rd = file_rd;
+ if (wr) *wr = file_wr;
+ return file_nfds;
+ }
if ((r = select (nfds, rd, wr, ex, timeout)) == SOCKET_ERROR) {
@@ -1776,18 +1829,2 @@ myselect (int nfds, fd_set *rd, fd_set *
errno = EINTR;
- break;
- case WSAENOTSOCK:
- // assume normal files are always readable/writable
- // fake read/write fd_set and return value
- r = 0;
- if (rd) r += rd->fd_count;
- if (wr) r += wr->fd_count;
- if (ex && ex->fd_count > 0) {
- // exceptional condition never happen for normal files
- if (r > 0)
- ex->fd_count = 0;
- else {
- errno = EBADF;
- r = SOCKET_ERROR;
- }
- }
break;
--
小松克行 / Katsuyuki Komatsu <komatsu@sarion.co.jp>