1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

* process.c (proc_getmaxgroups, proc_setmaxgroups): Process#maxgroups

and Process#maxgroups= now raise NotImplementedError if the
  platform don't support supplementary groups concept.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31090 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
kosaki 2011-03-10 16:54:02 +00:00
parent 2ff3ec5dbe
commit bd90dc80f2
4 changed files with 21 additions and 2 deletions

View file

@ -1,3 +1,9 @@
Fri Mar 11 01:40:35 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
* process.c (proc_getmaxgroups, proc_setmaxgroups): Process#maxgroups
and Process#maxgroups= now raise NotImplementedError if the
platform don't support supplementary groups concept.
Fri Mar 11 01:25:03 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com> Fri Mar 11 01:25:03 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
* process.c (get_sc_ngroups_max): return -1 if platform don't * process.c (get_sc_ngroups_max): return -1 if platform don't

4
NEWS
View file

@ -80,6 +80,10 @@ with all sufficient information, see the ChangeLog file.
* extended method: * extended method:
* Time#strftime supports %:z and %::z. * Time#strftime supports %:z and %::z.
* Process
* Process#maxgroups and Process#maxgroups= now raise NotImplementedError if
the platform don't support supplementary groups concept.
* io/console * io/console
* new methods: * new methods:
* IO#noecho {|io| } * IO#noecho {|io| }

View file

@ -4524,6 +4524,7 @@ proc_setgid(VALUE obj, VALUE id)
#endif #endif
#if defined(HAVE_SETGROUPS) || defined(HAVE_GETGROUPS)
/* /*
* Maximum supplementary groups are platform dependent. * Maximum supplementary groups are platform dependent.
* FWIW, 65536 is enough big for our supported OSs. * FWIW, 65536 is enough big for our supported OSs.
@ -4566,6 +4567,7 @@ static int maxgroups(void)
return _maxgroups; return _maxgroups;
} }
#endif
@ -4719,7 +4721,7 @@ proc_initgroups(VALUE obj, VALUE uname, VALUE base_grp)
#define proc_initgroups rb_f_notimplement #define proc_initgroups rb_f_notimplement
#endif #endif
#if defined(_SC_NGROUPS_MAX) || defined(NGROUPS_MAX)
/* /*
* call-seq: * call-seq:
* Process.maxgroups -> fixnum * Process.maxgroups -> fixnum
@ -4735,8 +4737,11 @@ proc_getmaxgroups(VALUE obj)
{ {
return INT2FIX(maxgroups()); return INT2FIX(maxgroups());
} }
#else
#define proc_getmaxgroups rb_f_notimplement
#endif
#ifdef HAVE_SETGROUPS
/* /*
* call-seq: * call-seq:
* Process.maxgroups= fixnum -> fixnum * Process.maxgroups= fixnum -> fixnum
@ -4764,6 +4769,9 @@ proc_setmaxgroups(VALUE obj, VALUE val)
return INT2FIX(_maxgroups); return INT2FIX(_maxgroups);
} }
#else
#define proc_setmaxgroups rb_f_notimplement
#endif
#if defined(HAVE_DAEMON) || (defined(HAVE_FORK) && defined(HAVE_SETSID)) #if defined(HAVE_DAEMON) || (defined(HAVE_FORK) && defined(HAVE_SETSID))
#ifndef HAVE_DAEMON #ifndef HAVE_DAEMON

View file

@ -1158,6 +1158,7 @@ class TestProcess < Test::Unit::TestCase
def test_maxgroups def test_maxgroups
assert_kind_of(Integer, Process.maxgroups) assert_kind_of(Integer, Process.maxgroups)
rescue NotImplementedError
end end
def test_geteuid def test_geteuid