URI: 
       tlibthread: make pthreadperthread the default - plan9port - [fork] Plan 9 from user space
  HTML git clone git://src.adamsgaard.dk/plan9port
   DIR Log
   DIR Files
   DIR Refs
   DIR README
   DIR LICENSE
       ---
   DIR commit e68f07d46f5f168dc2076286627279540bf1f99e
   DIR parent b73633b1b4e9d3dbd680edf900b2b53befbf5a9a
  HTML Author: Russ Cox <rsc@swtch.com>
       Date:   Wed, 30 Dec 2020 00:16:10 -0500
       
       libthread: make pthreadperthread the default
       
       Diffstat:
         M man/man3/thread.3                   |      34 +++++++++++++------------------
         M src/libthread/thread.c              |       2 +-
       
       2 files changed, 15 insertions(+), 21 deletions(-)
       ---
   DIR diff --git a/man/man3/thread.3 b/man/man3/thread.3
       t@@ -158,27 +158,21 @@ by
        The thread library provides a
        .I main
        function that sets up a proc with a single thread executing
       -.I threadmain
       -on a stack of size
       -.I mainstacksize
       -(default eight kilobytes).
       -To set
       -.IR mainstacksize ,
       -declare a global variable
       -initialized to the desired value
       -.RI ( e.g. ,
       -.B int
       -.B mainstacksize
       -.B =
       -.BR 1024 ).
       -When using the
       +.IR threadmain .
       +.PP
       +Every thread is backed by an operating system-provided
        .I pthread
       -library,
       -.B mainstacksize
       -is ignored, as is the stack size argument to
       -.BR proccreate :
       -the first thread in each proc
       -runs on the native system stack.
       +and runs on its system-provided stack;
       +.I mainstacksize
       +and the the stack size arguments to
       +.I proccreate
       +and
       +.I threadcreate
       +are ignored.
       +Although each thread is backed by a separate
       +.IR pthread ,
       +the threads in a proc are still scheduled non-preemptively
       +as on Plan 9 and as described below.
        .PP
        .I Threadcreate
        creates a new thread in the calling proc, returning a unique integer
   DIR diff --git a/src/libthread/thread.c b/src/libthread/thread.c
       t@@ -7,7 +7,7 @@ static        uint                threadnsysproc;
        static        Lock                threadnproclock;
        static        Ref                threadidref;
        static        Proc                *threadmainproc;
       -static        int                pthreadperthread;
       +static        int                pthreadperthread = 1;
        
        static        void                addproc(Proc*);
        static        void                delproc(Proc*);