ruby-changes:19017
From: naruse <ko1@a...>
Date: Tue, 8 Mar 2011 01:44:43 +0900 (JST)
Subject: [ruby-changes:19017] Ruby:r31055 (trunk): * process.c (get_sc_ngroups_max): define to wrap sysconf(3).
naruse 2011-03-08 01:44:36 +0900 (Tue, 08 Mar 2011) New Revision: 31055 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=31055 Log: * process.c (get_sc_ngroups_max): define to wrap sysconf(3). this also supports Windows which doesn't have sysconf(3). * process.c (maxgroups): use get_sc_ngroups_max. * process.c (proc_setmaxgroups): ditto. Modified files: trunk/ChangeLog trunk/process.c Index: ChangeLog =================================================================== --- ChangeLog (revision 31054) +++ ChangeLog (revision 31055) @@ -1,3 +1,12 @@ +Tue Mar 8 01:43:11 2011 NARUSE, Yui <naruse@r...> + + * process.c (get_sc_ngroups_max): define to wrap sysconf(3). + this also supports Windows which doesn't have sysconf(3). + + * process.c (maxgroups): use get_sc_ngroups_max. + + * process.c (proc_setmaxgroups): ditto. + Tue Mar 8 01:16:49 2011 NARUSE, Yui <naruse@r...> * gc.c (rb_objspace): an initializer must be a constant. Index: process.c =================================================================== --- process.c (revision 31054) +++ process.c (revision 31055) @@ -4542,10 +4542,18 @@ */ #define RB_MAX_GROUPS (65536) static int _maxgroups = -1; +static int get_sc_ngroups_max(void) +{ +#ifdef _SC_NGROUPS_MAX + return (int)sysconf(_SC_NGROUPS_MAX); +#else + return 32; +#endif +} static int maxgroups(void) { if (_maxgroups < 0) { - _maxgroups = (int)sysconf(_SC_NGROUPS_MAX); + _maxgroups = get_sc_ngroups_max(); if (_maxgroups < 0) _maxgroups = RB_MAX_GROUPS; } @@ -4729,7 +4737,7 @@ proc_setmaxgroups(VALUE obj, VALUE val) { int ngroups = FIX2INT(val); - int ngroups_max = (int)sysconf(_SC_NGROUPS_MAX); + int ngroups_max = get_sc_ngroups_max(); if (ngroups <= 0) rb_raise(rb_eArgError, "maxgroups %d shold be positive", ngroups); -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/