[#7878] libwww-ruby — TAKAHASHI Masayoshi <maki@...>

高橋です。ごぶさたしています。

31 messages 1998/05/13
[#7881] RE: libwww-ruby — OZAWA Sakuro <crouton@...> 1998/05/13

さく%札幌出張@塩尻です.

[#7882] Re: libwww-ruby — matz@... (Yukihiro Matsumoto) 1998/05/14

まつもと ゆきひろです

[#7884] Re: libwww-ruby — Eiji-usagi-MATSUmoto <ematsu@...> 1998/05/14

うさぎです

[#7885] Re: libwww-ruby — matz@... (Yukihiro Matsumoto) 1998/05/14

まつもと ゆきひろです

[#7886] Re: libwww-ruby — Eiji-usagi-MATSUmoto <ematsu@...> 1998/05/14

うさぎです

[#7888] Re: libwww-ruby — Mitsuru Ogino <ogino@...> 1998/05/14

ちょっとした疑問ですが。

[#7904] Re: filename (Re: libwww-ruby) — 助田 雅紀 <masaki.suketa@...>

助田です。

19 messages 1998/05/15
[#7908] Re: filename (Re: libwww-ruby) — ttate@... 1998/05/15

立石@JAISTです。

[#7909] Ruby Application Archive (Re: Re: filename (Re: libwww-ruby)) — matz@... (Yukihiro Matsumoto) 1998/05/15

まつもと ゆきひろです

[#7912] Re: filename (Re: libwww-ruby) — Makoto Nukui <gnue@...>

ども、GNUE(鵺)です。

16 messages 1998/05/15
[#7926] Re: filename (Re: libwww-ruby) — TAKAHASHI Masayoshi <maki@...> 1998/05/15

高橋です。

[#7965] links from ruby home page — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

28 messages 1998/05/18
[#7966] Re: links from ruby home page — WATANABE Tetsuya <tetsu@...> 1998/05/18

>>>>> "matz" == Yukihiro Matsumoto <matz@netlab.co.jp> writes:

[#7967] Re: links from ruby home page — matz@... (Yukihiro Matsumoto) 1998/05/18

まつもと ゆきひろです

[#7968] Re: links from ruby home page — WATANABE Tetsuya <tetsu@...> 1998/05/18

>>>>> "matz" == Yukihiro Matsumoto <matz@netlab.co.jp> writes:

[#7969] Re: links from ruby home page — matz@... (Yukihiro Matsumoto) 1998/05/18

まつもと ゆきひろです

[#7974] Re: links from ruby home page — matz@... (Yukihiro Matsumoto) 1998/05/18

まつもと ゆきひろです

[#7979] dbm — Kazuhiro HIWADA <hiwada@...> 1998/05/18

ひわだといいます。こんにちは。

[#7990] Re: dbm — matz@... (Yukihiro Matsumoto) 1998/05/19

まつもと ゆきひろです

[#8002] Dir.open order — Kikutani Makoto <kikutani@...>

きくたに@マサチューセッツです。

13 messages 1998/05/19

[#8099] cathedral v.s. bazaar — Kikutani Makoto <kikutani@...>

debian-usersで話題になってる

23 messages 1998/05/27
[#8103] Re: cathedral v.s. bazaar — TAKAHASHI Masayoshi <maki@...> 1998/05/28

高橋です。

[#8104] Re: cathedral v.s. bazaar — WATANABE Tetsuya <tetsu@...> 1998/05/28

>>>>> "T" == TAKAHASHI Masayoshi <maki@inac.co.jp> writes:

[#8106] Re: cathedral v.s. bazaar — ttate@... 1998/05/28

立石@JAISTです。

[ruby-list:7838] pop3-lib

From: Kikutani Makoto <kikutani@...>
Date: 1998-05-07 03:36:40 UTC
List: ruby-list #7838
きくたにです。

立石さんの popmail.rb(さっき取ってきたのでたぶん最新)
を試しているのですが、

get 46 (local filename 46).
get 47 (local filename 47).
get 48 (local filename 48).
get 49 (local filename 49).
close socket.
./pop3-lib.rb:73:in +': failed to allocate memory (fatal)
        from ./pop3-lib.rb:73:in gets2'
        from ./pop3-lib.rb:171:in get_mail'
        from popmail.rb:168
        from popmail.rb:167:in each'
        from popmail.rb:167

となってしまいます。該当ソースは
    message = message + "\n" + line
というところです。50番目のメッセージは 1200行(80KB) くらいですが、
これで failed to allocate memory になるものでしょうか?

そこで、添付のようにmessageをarrayに換えてやってみたら、
ここは通りました。速くなった気もします。

But、POPのスプールにはテスト用に25000行(1.8MB)なんてメッセージも
あるんですが、さすがにそこでこけてしまいました。
ちょっと厳しすぎるテストかもしれませんが報告まで。

# ruby 1.1b9_16(98/04/28) [i586-linux]

-- 
人生を背負い投げ

菊谷 誠(Kikutani Makoto)  kikutani@gol.com
                          kikutani@debian.or.jp (Linux関係のみ) 

Attachments (1)

pop3-lib.rb.pat (723 Bytes, text/plain)
--- pop3-lib.rb.orig	Thu May  7 12:27:55 1998
+++ pop3-lib.rb	Thu May  7 12:28:00 1998
@@ -63,14 +63,15 @@
     if( line == "." )
       loop = false
     else
-      message = line
+      message = []
+      message << line
     end
     while( loop )
       line = gets
       if( line == "." )
 	loop = false
       else
-	message = message + "\n" + line
+	message << line
       end
     end
     return message
@@ -145,13 +146,12 @@
     ans = gets
     if( ok?(ans) )
       if ( msg = gets2 )
-	msglist = msg.split("\n")
-	for line in msglist
+	msg.each{|line|
 	  linelist = line.split(/ +/)
 	  if( linelist[0] != nil )
 	    maillist.push(linelist[0])
 	  end
-	end
+	}
       end
     else
       maillist = nil

In This Thread

Prev Next