Author: kib
Date: Wed Oct 15 13:36:01 2014
New Revision: 273133
URL: https://svnweb.freebsd.org/changeset/base/273133

Log:
  MFC r272069:
  Switch the defaults to not split the RLIMIT_STACK-sized initial thread
  stack into the stacks of the created threads.  Add knob
  LIBPTHREAD_SPLITSTACK_MAIN to restore the older behaviour.

Modified:
  stable/10/lib/libthr/thread/thr_init.c
Directory Properties:
  stable/10/   (props changed)

Modified: stable/10/lib/libthr/thread/thr_init.c
==============================================================================
--- stable/10/lib/libthr/thread/thr_init.c      Wed Oct 15 13:22:33 2014        
(r273132)
+++ stable/10/lib/libthr/thread/thr_init.c      Wed Oct 15 13:36:01 2014        
(r273133)
@@ -445,7 +445,7 @@ init_private(void)
        struct rlimit rlim;
        size_t len;
        int mib[2];
-       char *env;
+       char *env, *env_bigstack, *env_splitstack;
 
        _thr_umutex_init(&_mutex_static_lock);
        _thr_umutex_init(&_cond_static_lock);
@@ -473,8 +473,9 @@ init_private(void)
                len = sizeof (_usrstack);
                if (sysctl(mib, 2, &_usrstack, &len, NULL, 0) == -1)
                        PANIC("Cannot get kern.usrstack from sysctl");
-               env = getenv("LIBPTHREAD_BIGSTACK_MAIN");
-               if (env != NULL) {
+               env_bigstack = getenv("LIBPTHREAD_BIGSTACK_MAIN");
+               env_splitstack = getenv("LIBPTHREAD_SPLITSTACK_MAIN");
+               if (env_bigstack != NULL || env_splitstack == NULL) {
                        if (getrlimit(RLIMIT_STACK, &rlim) == -1)
                                PANIC("Cannot get stack rlimit");
                        _thr_stack_initial = rlim.rlim_cur;
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to