[#43467] [Q] thread->interrupt_flag が適切に排他制御されていないように見える — KOSAKI Motohiro <kosaki.motohiro@...>

kosakiです

15 messages 2011/05/08
[#43482] Re: [Q] thread->interrupt_flag が適切に排他制御されていないように見える — SASADA Koichi <ko1@...> 2011/05/08

 ささだです.

[#43486] Re: [Q] thread->interrupt_flag が適切に排他制御されていないように見える — KOSAKI Motohiro <kosaki.motohiro@...> 2011/05/09

>  ささだです.

[#43487] Re: [Q] thread->interrupt_flag が適切に排他制御されていないように見える — SASADA Koichi <ko1@...> 2011/05/09

 ささだです.

[#43488] Re: [Q] thread->interrupt_flag が適切に排他制御されていないように見える — KOSAKI Motohiro <kosaki.motohiro@...> 2011/05/09

>  ささだです.

[#43489] Re: [Q] thread->interrupt_flag が適切に排他制御されていないように見える — KOSAKI Motohiro <kosaki.motohiro@...> 2011/05/09

自己解決しました

[#43500] Re: [Q] thread->interrupt_flag が適切に排他制御されていないように見える — SASADA Koichi <ko1@...> 2011/05/09

 ささだです.

[#43501] Re: [Q] thread->interrupt_flag が適切に排他制御されていないように見える — KOSAKI Motohiro <kosaki.motohiro@...> 2011/05/09

>> ということは危ないのは RUBY_VM_SET_INTERRUPT() がロストしたときに、タイムアウトなしの

[#43468] Re: [ruby-changes:19438] Ruby:r31478 (trunk): * test/date/*.rb: use skip /w messages. — KOSAKI Motohiro <kosaki.motohiro@...>

2011/5/8 tadf <ko1@atdot.net>:

8 messages 2011/05/08

[#43476] [Ruby 1.9 - Feature #4653][Open] [PATCH 1/1] new method Enumerable#rude_map — Shyouhei Urabe <shyouhei@...>

16 messages 2011/05/08

[#43493] [Ruby 1.9 - Feature #4657][Open] add option to hide skip messages on unit/test — Shota Fukumori <sorah@...>

11 messages 2011/05/09

[#43502] draft schedule of Ruby 1.9.3 — "Yuki Sonoda (Yugui)" <yugui@...>

-----BEGIN PGP SIGNED MESSAGE-----

23 messages 2011/05/09
[#43505] Re: draft schedule of Ruby 1.9.3 — "U.Nakamura" <usa@...> 2011/05/10

Hello,

[#43513] Re: draft schedule of Ruby 1.9.3 — KOSAKI Motohiro <kosaki.motohiro@...> 2011/05/10

(ruby-coreはずしました)

[#43587] [Ruby 1.9 - Feature #4788][Open] resolv.rb refactoring — Makoto Kishimoto <redmine@...>

15 messages 2011/05/27

[ruby-dev:43525] [Ruby 1.9 - Feature #4362] Process.kill should accept -SIGXXX with implicit conversion

From: Tomoyuki Chikanaga <nagachika00@...>
Date: 2011-05-11 13:07:32 UTC
List: ruby-dev #43525
Issue #4362 has been updated by Tomoyuki Chikanaga.

Assignee set to Tomoyuki Chikanaga


----------------------------------------
Feature #4362: Process.kill should accept -SIGXXX with implicit conversion
http://redmine.ruby-lang.org/issues/4362

Author: Tomoyuki Chikanaga
Status: Open
Priority: Normal
Assignee: Tomoyuki Chikanaga
Category: 
Target version: 1.9.3
ruby -v: ruby 1.9.3dev (2011-02-02 trunk 30762) [x86_64-darwin10.6.0]


=begin
 Process.kill の第一引数は Fixnum か Symbol、String でシグナルの種類を指定し、
 文字列の時は先頭に - をつけることでプロセスグループへシグナル送信するようになっています。
 実際には Fixnum, Symbol, String 以外のオブジェクトを渡すと to_str で文字列への
 暗黙の変換が行なわれるようになっているのですが、この時に先頭の - を認識しません。
 またシンボルの時も先頭の - が解釈されません。
 
 > Process.kill(:"-SIGTERM", $$)
 ArgumentError: unsupported name `SIG-SIGTERM'
 > Process.kill(:"-TERM", $$)
 ArgumentError: unsupported name `SIG-TERM'
 
 マニュアルには特に String 以外の時のことは書かれていませんが、Symbol や暗黙の変換が行なわれた時にも
 先頭の - が解釈されるようにしたほうが良いのではないかと思うのですがいかがでしょうか?
 
 diff --git a/signal.c b/signal.c
 index 27d90ac..5343108 100644
 --- a/signal.c
 +++ b/signal.c
 @@ -359,6 +359,7 @@ rb_f_kill(int argc, VALUE *argv)
      int negative = 0;
      int sig;
      int i;
 +    volatile VALUE str;
      const char *s;
  
      rb_secure(2);
 @@ -376,11 +377,11 @@ rb_f_kill(int argc, VALUE *argv)
  
        case T_STRING:
  	s = RSTRING_PTR(argv[0]);
 +      str_signal:
  	if (s[0] == '-') {
  	    negative++;
  	    s++;
  	}
 -      str_signal:
  	if (strncmp("SIG", s, 3) == 0)
  	    s += 3;
  	if((sig = signm2signo(s)) == 0)
 @@ -391,9 +392,6 @@ rb_f_kill(int argc, VALUE *argv)
  	break;
  
        default:
 -        {
 -	    VALUE str;
 -
  	    str = rb_check_string_type(argv[0]);
  	    if (!NIL_P(str)) {
  		s = RSTRING_PTR(str);
 @@ -401,7 +399,6 @@ rb_f_kill(int argc, VALUE *argv)
  	    }
  	    rb_raise(rb_eArgError, "bad signal type %s",
  		     rb_obj_classname(argv[0]));
 -	}
  	break;
      }
=end



-- 
http://redmine.ruby-lang.org

In This Thread

Prev Next