[#21736] OBJECTDAY 2000 — 助田 雅紀 <masaki.suketa@...>

助田です.

29 messages 2000/04/03
[#21748] Re: OBJECTDAY 2000 — keiju@... (石塚圭樹) 2000/04/04

けいじゅ@日本ラショナルソフトウェアです.

[#21753] Re: OBJECTDAY 2000 — Hideto ISHIBASHI <hideto-i@...4u.or.jp> 2000/04/05

石橋秀仁です。

[#21755] Re: OBJECTDAY 2000 — keiju@... (石塚圭樹) 2000/04/05

けいじゅ@日本ラショナルソフトウェアです.

[#21837] site_ruby & Linux distribution — OZAWA Sakuro <crouton@...>

小澤さくです。

14 messages 2000/04/10

[#21922] ruby-1.4.4 binary for BeOS 5 (Intel) — tenmei@... (Noriaki Harada)

はらだです。

23 messages 2000/04/15
[#21923] Re: ruby-1.4.4 binary for BeOS 5 (Intel) — NAITOH Jun <naitoh@...> 2000/04/15

はじめまして、内藤と申します。

[#21926] Re: ruby-1.4.4 binary for BeOS 5 (Intel) — tenmei@... (Noriaki Harada) 2000/04/16

>はじめまして、内藤と申します。

[#21930] Re: ruby-1.4.4 binary for BeOS 5 (Intel) — NAITOH Jun <naitoh@...> 2000/04/16

内藤です。

[#21968] Re: ruby-1.4.4 binary for BeOS 5 (Intel) — Katsuyuki Komatsu <komatsu@...> 2000/04/17

小松です。

[#21969] Re: ruby-1.4.4 binary for BeOS 5 (Intel) — NAITOH Jun <naitoh@...> 2000/04/17

再び内藤です。

[#21956] Thread & STDIN — Masato Toyoshima <mt@...>

はじめまして、豊島といいます。

16 messages 2000/04/17

[#21981] rd2man — WATANABE Hirofumi <eban@...>

わたなべです.

29 messages 2000/04/18
[#21982] Re: rd2man — Toshiro Kuwabara <toshirok@...3.so-net.ne.jp> 2000/04/18

Toshです。

[#21985] Re: rd2man — WATANABE Hirofumi <Hirofumi.Watanabe@...> 2000/04/19

わたなべです.

[#22036] Re: rd2man — Wakou Aoyama <wakou@...> 2000/04/20

青山です。

[#22040] Re: rd2man — Toshiro Kuwabara <toshirok@...3.so-net.ne.jp> 2000/04/21

Toshです。

[#22014] shell interactive — WATANABE Daisaku <dwata@...3.rim.or.jp>

31 messages 2000/04/20
[#22016] Re: shell interactive — 時田幸粋 <ktokita@...> 2000/04/20

こんにちは、時田です。

[#22017] Re: shell interactive — nobu.nakada@... 2000/04/20

なかだです。

[#22018] Re: shell interactive — WATANABE Hirofumi <Hirofumi.Watanabe@...> 2000/04/20

わたなべです.

[#22027] Re: shell interactive — 時田幸粋 <ktokita@...> 2000/04/20

こんにちは、時田です。

[#22103] Please put ruby-1.4.4.tar.gz in pub/lang/ruby/1.4/ — "Akinori -Aki- MUSHA" <knu@...>

 お願いがあるのですが、 ruby-1.4.4.tar.gz を FTP ツリーの 1.4/

16 messages 2000/04/25
[#22199] Where to put ruby-i.j.k.tar.gz on? (Re: ) — SUGIHARA Hiroshi <maili31s@...> 2000/04/28

[ruby-list:22103]におきまして、2000/04/25 12:38ほどに、

[#22117] StateGraph: state machine interpreter — Hideto ISHIBASHI <hideto-i@...4u.or.jp>

石橋 "rubyholic" 秀仁です。

16 messages 2000/04/25

[#22159] $LOAD_PATH への追加について — "Sugawara Hajime" <sugawara@...>

 はじめまして、菅原@ホビー・データです。

13 messages 2000/04/27

[#22181] Can't Use optparse — Yamada Kenji <kyamada@...>

28 messages 2000/04/28
[#22186] Re: Can't Use optparse — akira yamada / やまだあきら <akira@...> 2000/04/28

[#22195] Re: Can't Use optparse — Toshiro Kuwabara <toshirok@...3.so-net.ne.jp> 2000/04/28

Toshです。

[#22261] Re: Can't Use optparse — nobu.nakada@... 2000/05/04

なかだです。

[#22264] Re: Can't Use optparse — Toshiro Kuwabara <toshirok@...3.so-net.ne.jp> 2000/05/04

Toshです。

[#22270] Re: Can't Use optparse — nobu.nakada@... 2000/05/04

なかだです。

[#22272] Re: Can't Use optparse — Toshiro Kuwabara <toshirok@...3.so-net.ne.jp> 2000/05/04

Toshです。

[#22300] Re: Can't Use optparse — Koji Arai <JCA02266@...> 2000/05/05

新井です。

[ruby-list:22049] Re: ruby-1.4.4 binary for BeOS 5 (Intel)

From: Katsuyuki Komatsu <komatsu@...>
Date: 2000-04-21 13:43:06 UTC
List: ruby-list #22049
小松です。

In the message of [ruby-list:22031] Re: ruby-1.4.4 binary for BeOS 5 (Intel)
    on 2000/4/21 00:30:53 tenmei@maoh.office.ne.jp (Noriaki Harada) wrote:
>はらだです。

>ひとまず sample/ 以下にある svr.rb/clnt.rb と
>dualstack-(fetch|httpd).rb を動かしてみましたが、
>どちらも普通に動いているように見えました。

ありがとうございます。

これで、自分の所を含めて3個所で動作確認できましたので、
ほぼ大丈夫でしょう。

なお、いまのところ見つかっている問題には以下のようなものがあります。

1.  socket関係の操作をしているときにCtrl-Cで止めようとしてもRubyが
    止まらない。

    closesocket()を呼んだときに/boot/beos/system/lib/libroot.soの
    中で止まっている (添付ログ参照) のですが、何が悪いのかさっぱり
    わかりません。

2.  Errno::EPIPEの代わりにErrno::ERROR (= B_ERROR (-1), General OS error)
    が上がってくる。

3.  ソケットハンドル以外は常に読み書きできるとみなすという実装
    (mswin32版と同じ方式です) のため、デバイスを待つといった
    使い方はたぶんできない。

    libsocketのfdopen()に関する制限のため、Rubyに組み込んだ
    バージョンでは、ソケット1個に対して/dev/nullを1個オープンして
    ソケットハンドル用のスロットを確保するという部分を生かし、
    ファイルハンドルとソケットハンドルをthreadを使って同時に
    待つという部分は取り除いてしまいました。

4.  ポート番号を指定せずにサーバーポートを作ったときloopbackと
    実interfaceで違うポート番号が割り当てられることがある。

なお、Geek Gadgetsのcvsweb、
    http://www.ninemoons.com/cgi-bin/cvsweb/gg/be/libsocket/
を見ると、libsocket.cの最新版は1.5 (Sat Jan 29 04:31:56 2000 UTC) の
ようですが、本質的な変更はありませんでした。

□Ctrl-Cのgdbのログ

[Terminal 1]

$ ruby tsvr.rb
server is on 49153 ← Ctrl-Cで止める
tsvr.rb:13:in `accept': Interrupt
        from tsvr.rb:13 ← 返って来ない

[Terminal 2]

$ gdb ruby 293 ← psでthreadを調べてgdbでアタッチ
GNU gdb 4.18
Copyright 1998 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i586-beos"...

GDB can't read core files on this machine.
Attaching to program `/boot/home/config/bin/ruby', pid 293 ← ここでCtrl-C
Reading symbols from /boot/home/config/lib/libruby-1.4.4.so...done.
Reading symbols from /boot/beos/system/lib/libnet.so...done.
Reading symbols from /boot/beos/system/lib/libroot.so...
Quit
(gdb) bt ← スタックトレースを見るとclosesocket()の中で止まっている
#0  0xec084a7b in ?? () from /boot/beos/system/lib/libroot.so
#1  0xec00e8a3 in closesocket () from /boot/beos/system/lib/libnet.so
#2  0xec648677 in __libsocket_closesocket (fd=3) at ../beos/libsocket.c:384
#3  0xea43b122 in ?? () from /boot/home/config/lib/ruby/1.4/i586-beos/socket.so
#4  0xec60a696 in rb_io_fptr_close (fptr=0x3) at ../io.c:934
#5  0xec60a6da in rb_io_fptr_finalize (fptr=0x80056660) at ../io.c:947
#6  0xec605da7 in rb_gc_call_finalizer_at_exit () at ../gc.c:1167
#7  0xec5f28df in ruby_run () at ../eval.c:1131
#8  0x8000084d in ?? () from /boot/home/config/bin/ruby
#9  0x80000715 in ?? () from /boot/home/config/bin/ruby
(gdb) frame 2 ← フレーム2に移動
#2  0xec648677 in __libsocket_closesocket (fd=3) at ../beos/libsocket.c:384
384             result = closesocket(BE_SOCK_HANDLE[fd]);
(gdb) p fd ← 外部に見えるハンドルは3だが、実際のソケットハンドルは0
$1 = 3
(gdb) p BE_SOCK_HANDLE[fd]
$2 = 0
(gdb) 

# 以下の手順で作っているので、gdbのログに出てくるファイルの
# 位置とか名前が違っています。
#
#   cd ruby-1.4.4
#   mkdir beos-shared ; cd beos-shared
#   ../configure --prefix=/boot/home/config --program-suffix=-1.4.4
#   make ; make test ; make install
#   cd /boot/home/config/bin ; ln -s ruby-1.4.4 ruby

--
小松克行 / Katsuyuki Komatsu <komatsu@sarion.co.jp>

In This Thread

Prev Next