[#46143] るびま 標準添付ライブラリ紹介 第3回のサンプル EUC-JPの結果 — eiichi_maekawa@...
62 messages
2009/07/02
[#46144] Re: るびま 標準添付ライブラリ紹介 第3回のサンプル EUC-JPの結果
— KIMURA Koichi <kimura.koichi@...>
2009/07/03
木村です。
[#46153] Re: るびま 標準添付ライブラリ紹介 第3回のサンプル EUC-JPの結果
— "NARUSE, Yui" <naruse@...>
2009/07/03
成瀬です。
[#46165] Re: に関する1.8.6→1.8.7または、1.9へのバージョンアップ
— eiichi_maekawa@...
2009/07/05
前川です。
[#46189] Ruby MySQL テーブル一覧の取得要領
— eiichi_maekawa@...
2009/07/08
前川です。
[#46302] rubyのクラス内のメソッドの使用について
— "前川 映一" <eiichi_maekawa@...>
2009/08/20
前川です。
[#46281] rubyの変数の扱いについて
— "前川 映一" <eiichi_maekawa@...>
2009/08/17
前川です。
[#46283] Re: rubyの変数の扱いについて
— "(株)ネットフォレスト 植田裕之" <ueda@...>
2009/08/17
植田と申します。
[#46284] Re: rubyの変数の扱いについて
— "前川 映一" <eiichi_maekawa@...>
2009/08/17
前川です。
[#46286] Re: [ruby-list:46284 ]_Re:_rubyの変数の扱いについて
— 詫間 陽介 <yosuketakuma@...>
2009/08/17
変数宣言は無いですね.
[#46289] Re: [ruby-list:46284 ]_Re:_rubyの変数の扱いについて
— "前川 映一" <eiichi_maekawa@...>
2009/08/17
詫間さん ありがとうございました。
[#46183] 1.8.6から1.8.7または、1.9へのバージョンアップ及びrailsのバージョンアップについて
— eiichi_maekawa@...
2009/07/07
前川です。
[#46190] Re: 1.8.6から1.8.7または、1.9へのバージョンアップ及びrailsのバージョンアップについて
— okkez <okkez000@...>
2009/07/08
okkez です。
[#46303] rubyのメソッドの切り替えについて
— "前川 映一" <eiichi_maekawa@...>
2009/08/20
前川です。
[#46304] Re: rubyのメソッドの切り替えについて
— "NARUSE, Yui" <naruse@...>
2009/08/20
成瀬です。
[#46305] Re: [ruby-list:46304 ] Re: rubyのメソッドの切り替えについて
— "前川 映一" <eiichi_maekawa@...>
2009/08/20
成瀬さん
[#46146] 文字変換 — eiichi_maekawa@...
16 messages
2009/07/03
[#46147] Re: 文字変換
— Hidetoshi NAGAI <nagai@...>
2009/07/03
永井@知能.九工大です.
[#46148] Re: 文字変換
— eiichi_maekawa@...
2009/07/03
前川です。
[#46149] Re: 文字変換
— Hidetoshi NAGAI <nagai@...>
2009/07/03
永井@知能.九工大です.
[#46151] 文字から16進への変換方法について
— eiichi_maekawa@...
2009/07/03
[#46152] Re: 文字から16進への変換方法について
— rubikitch@...
2009/07/03
From: eiichi_maekawa@mhi.co.jp
[#46154] メソッドArgumentのParenthesisについて — Shingo Hagiwara <rindou@...>
本当にくだらない質問で申し訳ありません。
10 messages
2009/07/03
[#46155] Re: メソッドArgumentのParenthesisについて
— rubikitch@...
2009/07/03
From: Shingo Hagiwara <rindou@gmail.com>
[#46156] Re: メソッドArgumentのParenthesisについて
— "5.5" <5.5@...>
2009/07/03
5.5 です。
[#46178] ruby-chasen in 64bit machine — "KISHIMOTO, Makoto" <ksmakoto@...4u.or.jp>
きしもとです
4 messages
2009/07/07
[#46205] set_encoding についての質問 — 大田黒俊夫 <toshio.otaguro@...>
初めて投稿します.Ruby 1.9.1 を使っていて,文字コードの扱いに慣れようと四苦八苦しています.
5 messages
2009/07/12
[#46216] ファイル出力の動作について — "Jun'ya Shimoda" <jun-shimo@...>
下田と申します。
6 messages
2009/07/16
[ruby-list:46239] ruby1.8→1.9でprocess/thread関連でハマった話
From:
Hidetoshi NAGAI <nagai@...>
Date:
2009-07-29 09:33:39 UTC
List:
ruby-list #46239
永井@知能.九工大です.
ちょっと恥ずかしい話ですが,似たような状況でトラブルに合う方も
いらっしゃるかもしれないので書いておきます.(^_^;
ruby 1.8 で動いていたスクリプトを 1.9 で動かそうとした際の話です.
OS にも依存する話ですので述べておきますと,Linux 2.6.12, gcc 3.3.2 です.
スクリプトは,「fork して,終了時の後処理スレッドを動かして,
異常時には kill できるようにもしておく」というような,
まぁ,珍しくもない代物です.
例えば
---------------------------------------------------------------
pid = fork{ .... } # 子プロセス生成
Thread.new(pid){|child| # 後処理のための監視スレッドの生成
Process.waitpid(child)
... 後処理 ...
}
... Process.kill(:KILL, pid) # 異常時の kill
---------------------------------------------------------------
というようなもので,もちろん 1.8 では問題なく動いてました.
ですが,これは前述の OS 環境での 1.9 では動きません.
expert には自明のことなのかもしれませんが,
私の場合,その原因の解明にひどく時間がかかってしまいました.
# 実は RubyKaigi2009 の前から悩んでた.(^_^;
原因は
「ruby 1.9 では,Thread.new で作られる新しい thread は,
新しい native thread として動作する.
Linux 2.6.12, gcc 3.3.2 の環境では,新しい native thread には
新しいプロセス番号が振られる.
よって監視スレッドは fork を実行したプロセスとは別のプロセス番号を持ち,
fork で生成されたプロセスの親プロセスとは認められなくなる.
結果,Process.waitpid(child) は『そんな子プロセスは存在しないよ』の
エラーで即座に抜けてしまう」
というものでした.
わかってしまえば「なぁんだ」というような話なのですが,
1.8 と 1.9 との間の非互換,OS 環境の差異による非互換として
心に留めておくべきことなのかもしれません.
--
永井 秀利 (nagai@ai.kyutech.ac.jp)
九州工業大学 大学院情報工学研究院 知能情報工学研究系 知能情報メディア部門