From be1d2c5f685d56e10239565e5eefba191de0e0be Mon Sep 17 00:00:00 2001 From: matz Date: Thu, 11 Jul 2002 08:22:18 +0000 Subject: * string.c (rb_str_slice_bang): if there's no corresponding substring, slice! should return nil without exception. * array.c (rb_ary_insert): type fixed. * string.c (rb_str_split_m): accept separator value nil as well. * string.c (rb_str_become): was leaking memory. * class.c (rb_include_module): should not alter other classes/modules by inclusion. by this fix, local order may not be preserved for some cases. * class.c (include_class_new): module may be T_ICLASS; retrieve original module information. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2632 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- process.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'process.c') diff --git a/process.c b/process.c index 329c5ff1d6..b4f462bf7b 100644 --- a/process.c +++ b/process.c @@ -1014,14 +1014,16 @@ proc_getpgrp() static VALUE proc_setpgrp() { -#if defined(HAVE_SETPGRP) && defined(SETPGRP_VOID) + /* check for posix setpgid() first; this matches the posix */ + /* getpgrp() above. It appears that configure will set SETPGRP_VOID */ + /* even though setpgrp(0,0) would be prefered. The posix call avoids */ + /* this confusion. */ +#ifdef HAVE_SETPGID + if (setpgid(0,0) < 0) rb_sys_fail(0); +#elif defined(HAVE_SETPGRP) && defined(SETPGRP_VOID) if (setpgrp() < 0) rb_sys_fail(0); #else -# ifdef HAVE_SETPGID - if (setpgid(0, 0) < 0) rb_sys_fail(0); -# else rb_notimplement(); -# endif #endif return INT2FIX(0); } -- cgit v1.2.3