Feature #6757
closed
- Assignee set to mame (Yusuke Endoh)
- Status changed from Open to Assigned
- Assignee changed from mame (Yusuke Endoh) to akr (Akira Tanaka)
こういうシステム系の機能は判断する自信ないです。
一家言ありそうな akr さんに振ってみます。
テストがないですが、意味のあるテストは書けないものですかね。
--
Yusuke Endoh mame@tsg.ne.jp
こういうシステム系の機能は判断する自信ないです。
一家言ありそうな akr さんに振ってみます。
こういう単に情報取得するだけの機能はノータイムで入れていいという認識。
逆にちゃんと考えないといけないのは、Cと同じ使い方をどうやっても提供できないケースで例えば
・IO: Ruby独自のバッファリングとエンコードの話があるのでsysread/syswriteが混ぜるな危険になる
・fork: ruby scriptをasync signal safeにする方法はないので、Cと同じ使い勝手を提供できない
・Trap: 同様に生のシグナルハンドラをRubyスクリプトでは書けないので、Cのシグナルハンドラと
RubyのTrapハンドラは似て非なるもの
みたいなやつら。このケースは入れてしまっていいという認識。
しかし、あらためて見なおしてみると setsidとgetsidは本来 Process::Sys に入っているべき生の
操作なんじゃないかという気がしてきました。
ProcessとProcess::Sysの使い分けの指針は今どうなってるんでしょう?
テストがないですが、意味のあるテストは書けないものですかね。
DLかsyscallつかって生のgetsid() 呼んで結果を比較する?
- Assignee changed from akr (Akira Tanaka) to kosaki (Motohiro KOSAKI)
kosaki さんが accept 気味なので、kosaki さんがよければ入れてください。
嫌なら next minor にしといてください。
--
Yusuke Endoh mame@tsg.ne.jp
- Status changed from Assigned to Closed
- % Done changed from 0 to 100
This issue was solved with changeset r37825.
Fumiyasu, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.
- process.c (proc_getsid): adds new method for getting session id.
Contributed from fumiyas (Fumiyasu SATOH). Thank you!
[Feature #6757] [ruby-dev:45977]
- configure.in: adds getsid check.
- test/ruby/test_process.rb (TestProcess#test_setsid): new test
for the above.
- NEWS: news for the above.
r37825 で入れました。テストの追加と、引数を省略した時にカレントプロセスとみなす処理の追加を行いました(ほとんどのケースでカレントプロセスにしか興味ないはず)
佐藤さん、ありがとうございました。
Also available in: Atom
PDF
Like0
Like0Like0Like0Like0Like0Like0