process.c: fixnum umask

* process.c (rb_execarg_addopt): always make Fixnum, and ignore higher
  bits in too large umask value.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36148 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nobu 2012-06-20 02:33:06 +00:00
parent 5fe8065849
commit 5a24475a13
2 changed files with 6 additions and 1 deletions

View File

@ -1,3 +1,8 @@
Wed Jun 20 11:33:04 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* process.c (rb_execarg_addopt): always make Fixnum, and ignore higher
bits in too large umask value.
Wed Jun 20 11:24:35 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> Wed Jun 20 11:24:35 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* lib/test/unit.rb (Test::Unit::Runner#_run_parallel): deal with * lib/test/unit.rb (Test::Unit::Runner#_run_parallel): deal with

View File

@ -1602,7 +1602,7 @@ rb_execarg_addopt(struct rb_exec_arg *e, VALUE key, VALUE val)
if (!NIL_P(rb_ary_entry(options, EXEC_OPTION_UMASK))) { if (!NIL_P(rb_ary_entry(options, EXEC_OPTION_UMASK))) {
rb_raise(rb_eArgError, "umask option specified twice"); rb_raise(rb_eArgError, "umask option specified twice");
} }
rb_ary_store(options, EXEC_OPTION_UMASK, LONG2NUM(cmask)); rb_ary_store(options, EXEC_OPTION_UMASK, LONG2FIX(cmask));
} }
else if (id == rb_intern("close_others")) { else if (id == rb_intern("close_others")) {
if (!NIL_P(rb_ary_entry(options, EXEC_OPTION_CLOSE_OTHERS))) { if (!NIL_P(rb_ary_entry(options, EXEC_OPTION_CLOSE_OTHERS))) {