[#14715] HTTP Client with Ruby — TAKAHASHI Masayoshi <maki@...>

高橋征義です。

32 messages 1999/06/01
[#14834] Re: HTTP Client with Ruby — "NAKAMURA, Hiroshi" <nakahiro@...> 1999/06/05

なひです.

[#14836] Re: HTTP Client with Ruby — TAKAHASHI Masayoshi <maki@...> 1999/06/05

高橋征義です。

[#14858] Re: HTTP Client with Ruby — gotoken@... (GOTO Kentaro) 1999/06/07

ごとけんです

[#14896] Re: HTTP Client with Ruby — TAKAHASHI Masayoshi <maki@...> 1999/06/07

高橋です。みなさまどうもありがとうございます。

[#14907] Re: HTTP Client with Ruby — "NAKAMURA, Hiroshi" <nakahiro@...> 1999/06/08

なひです.

[#14766] ruby 1.3.4 on BSD/OS 3.1 — Yasunari Momoi <momo@...>

BSD/OS 3.1 (with kame) で ruby-1.3.4 を作ろうとしているんで

18 messages 1999/06/03
[#14770] Re: ruby 1.3.4 on BSD/OS 3.1 — matz@... (Yukihiro Matsumoto) 1999/06/03

まつもと ゆきひろです

[#15012] ext ML の過去ログはいずこ? — 中村暁史 <anakamur@...>

22 messages 1999/06/16
[#15013] Re: ext ML の過去ログはいずこ? — Shin-ichiro Hara <sinara@...> 1999/06/16

原です。

[#15014] Re: ext ML の過去ログはいずこ? — 中村暁史 <anakamur@...> 1999/06/16

[#15015] Re: ext ML の過去ログはいずこ? — Kazunori Akaishi <akaishi@...> 1999/06/16

akaishi です。

[#15016] Re: ext ML の過去ログはいずこ? — 中村暁史 <anakamur@...> 1999/06/16

[#15045] mail library — Minero Aoki <aamine@...>

あおきです。

96 messages 1999/06/20
[#15075] Re: mail library — Minero Aoki <aamine@...> 1999/06/22

あおきです。

[#15122] Re: mail library — Minero Aoki <aamine@...> 1999/06/28

あおきです。

[#15123] Re: mail library — matz@... (Yukihiro Matsumoto) 1999/06/28

まつもと ゆきひろです

[#15125] Re: mail library — WATANABE Hirofumi <watanabe@...> 1999/06/28

わたなべです.

[#15126] Re: mail library — matz@... (Yukihiro Matsumoto) 1999/06/28

まつもと ゆきひろです

[#15146] Re: mail library — Minero Aoki <aamine@...> 1999/06/29

あおきです。

[#15148] Re: mail library — matz@... (Yukihiro Matsumoto) 1999/06/29

まつもと ゆきひろです

[#15161] Re: mail library — Minero Aoki <aamine@...> 1999/06/30

あおきです。

[#15165] Re: mail library — "NAKAMURA, Hiroshi" <nakahiro@...> 1999/06/30

なひです.

[#15167] Re: mail library — Minero Aoki <aamine@...> 1999/06/30

あおきです。

[#15219] Re: mail library — "NAKAMURA, Hiroshi" <nakahiro@...> 1999/07/03

なひです.

[#15228] Re: mail library — hisanori@... 1999/07/05

松尾です。

[#15279] Re: mail library — "NAKAMURA, Hiroshi" <nakahiro@...> 1999/07/07

なひです.

[#15172] Re:mail library — Takeo Iwama <iwamat@...> 1999/07/01

はじめまして、岩間です。

[#15218] JUS workshop ( was Re:mail library ) — "NAKAMURA, Hiroshi" <nakahiro@...> 1999/07/03

なひです.mod_rubyと格闘中です.

[#15220] Mod_ruby server does not respond when POST request. — "NAKAMURA, Hiroshi" <nakahiro@...> 1999/07/03

なひです.mod_rubyネタはruby-listでよいでしょうか?

[#15226] Re: Mod_ruby server does not respond when POST request. — Shugo Maeda <shugo@...> 1999/07/05

前田です。

[#15240] mod_ruby/0.1.2 with Apache/1.3.6 on Solaris/2.5.1 ( was Re: Mod_ruby server does not respond when POST request. ) — "NAKAMURA, Hiroshi" <nakahiro@...> 1999/07/05

なひです.

[#15242] Re: mod_ruby/0.1.2 with Apache/1.3.6 on Solaris/2.5.1 ( was Re: Mod_ruby server does not respond when POST request. ) — Shugo Maeda <shugo@...> 1999/07/05

前田です。

[#15308] Re: mod_ruby/0.1.2 with Apache/1.3.6 on Solaris/2.5.1 — Katsuyuki Komatsu <komatsu@...> 1999/07/08

小松です。

[#15310] Re: mod_ruby/0.1.2 with Apache/1.3.6 on Solaris/2.5.1 — Shugo Maeda <shugo@...> 1999/07/08

前田です。

[#15313] Re: mod_ruby/0.1.2 with Apache/1.3.6 on Solaris/2.5.1 — Katsuyuki Komatsu <komatsu@...> 1999/07/08

小松です。

[#15057] 複雑?な構造体の定義方法 — Koichi Shigematsu <shige@...>

しげまつ と申します。  とっても久しぶりの投稿です。

18 messages 1999/06/21
[#15058] Re: 複雑?な構造体の定義方法 — matz@... (Yukihiro Matsumoto) 1999/06/21

まつもと ゆきひろです

[#15059] Re: 複雑?な構造体の定義方法 — Koichi Shigematsu <shige@...> 1999/06/21

しげまつ です。

[#15061] Re: 複雑?な構造体の定義方法 — matz@... (Yukihiro Matsumoto) 1999/06/21

まつもと ゆきひろです

[#15065] pattern (Re: 複雑?な構造体の定義方法) — gotoken@... (GOTO Kentaro) 1999/06/21

ごとけんです

[#15076] Re: pattern (Re: 複雑?な構造体の定義方法) — matz@... (Yukihiro Matsumoto) 1999/06/22

まつもと ゆきひろです

[#15077] Re: pattern (Re: 複雑?な構造体の定義方法) — gotoken@... (GOTO Kentaro) 1999/06/22

ごとけんです

[ruby-list:15088] Re: Thread safe eRuby

From: Shin-ichiro Hara <sinara@...>
Date: 1999-06-22 09:03:19 UTC
List: ruby-list #15088
原です。

In message "[ruby-list:15010] Thread safe eRuby"
    on 99/06/16, Masatoshi SEKI <m_seki@mva.biglobe.ne.jp> writes:

|咳です。

|やや スレッドセーフ になった erb.rb 

今ごろになって erb.rb がスレッドセーフとはどういう意味か理解しま
した。(^^;;;

erb.rb は同時に複数のスクリプトを評価して結果の標準出力を別々に得
る必要があるんですね。

|このバージョンでは、eRuby スクリプトがマルチスレッドなとき、
|ERb#result は正しく動作しません。
|eRubyスクリプトが単一のスレッドであれば、マルチスレッドから
|ERb を使っても期待通りに動いてくれると思います。

この仕様で十分な気がします。CGI みたいなスクリプトがマルチスレッ
ドで動いてそれぞれが出力を出すって事あります?基本的に HTTP って
1セッション内で対話しないから、いいんじゃないかなあ。


でも一応考えてみました。Thread.start の定義をいじるという大げさ
なものなんですけど、一応動いている様な気がします。

-----^ as_output.rb
class IO; alias write_orig write; end
class Thread; OUTPUTS = {}; end

class << Thread
  alias start_orig start
  
  def as_output(x)
    if Thread::OUTPUTS.empty?
      Thread.critical = true
      def $stdout.write(s)
	if io = Thread::OUTPUTS[Thread.current]
	  io.write(s)
	else
	  write_orig(s)
	end
      end
      
      def Thread.start(x = nil)
	c = Thread.current
	Thread.start_orig {
	  d = Thread.current
	  Thread::OUTPUTS[d] = x || Thread::OUTPUTS[c]
	  yield
	  Thread::OUTPUTS.delete d
	  
	  if Thread::OUTPUTS.empty?
	    def $stdout.write(s); $stdout.write_orig(s); end
	    def Thread.start; Thread.start_orig {yield}; end
	  end
	}
      end
      Thread.critical = false
    end
    
    Thread.start(x) {
      yield
    }.value
  end
end
-----$ as_output.rb

テストプログラムです。

-----^ test.rb
#!/usr/local/bin/ruby
require "as_output"

Thread.abort_on_exception = true

def display(n=0)
  (0..5).each { |i| puts i+n; Thread.pass}
end
class String
  def write(x); concat(x); end
end

s1 = ""
s2 = ""
s3 = ""

thrs = []

thrs << Thread.start {
  Thread.as_output(s1) {
    thrs << Thread.start {
      thrs << Thread.start {
	display(1000)
      }
      display(1100)
    }
  }
}

puts "HELLO!"

Thread.as_output(s2) {
  Thread.as_output(s3) {
    thrs << Thread.start {
      display(3100)
    }
    display(3000)
  }
  thrs << Thread.start {
    display(2000)
  }
  Thread.as_output(s2) {
    display(2100)
  }
}

thrs.each do |x|
  #Thread.join(x)
  x.join
end

puts "----- s1 ------"
puts s1
puts "----- s2 ------"
puts s2
puts "----- s3 ------"
puts s3
-----$ test.rb

In This Thread