cvs commit: src/lib/libpthread/arch/i386/i386 thr_switch.S src/lib/libpthread/thread thr_cancel.c thr_concurrency.c thr_cond.c thr_create.c thr_detach.c thr_exit.c thr_find_thread.c thr_join.c thr_kern.c thr_mutex.c thr_nanosleep.c thr_priority_queue.c thr_private.h ...

Daniel Eischen deischen at FreeBSD.org
Mon Apr 28 16:56:14 PDT 2003


deischen    2003/04/28 16:56:12 PDT

  FreeBSD src repository

  Modified files:
    lib/libpthread/arch/i386/i386 thr_switch.S 
    lib/libpthread/thread thr_cancel.c thr_concurrency.c 
                          thr_cond.c thr_create.c thr_detach.c 
                          thr_exit.c thr_find_thread.c thr_join.c 
                          thr_kern.c thr_mutex.c thr_nanosleep.c 
                          thr_priority_queue.c thr_private.h 
                          thr_sigsuspend.c thr_sigwait.c 
                          thr_spinlock.c thr_yield.c 
  Log:
  o Don't add a scope system thread's KSE to the list of available
    KSEs when it's thread exits; allow the GC handler to do that.
  
  o Make spinlock/spinlock critical regions.
  
  The following were submitted by davidxu
  
    o Alow thr_switch() to take a null mailbox argument.
  
    o Better protect cancellation checks.
  
    o Don't set KSE specific data when creating new KSEs; rely on the
      first upcall of the KSE to set it.
  
    o Add the ability to set the maximum concurrency level and do this
      automatically.  We should have a way to enable/disable this with
      some sort of tunable because some applications may not want this
      to be the default.
  
    o Hold the scheduling lock across thread switch calls.
  
    o If scheduling of a thread fails, make sure to remove it from the list
      of active threads.
  
    o Better protect accesses to a joining threads when the target thread is
      exited and detached.
  
    o Remove some macro definitions that are now provided by <sys/kse.h>.
  
    o Don't leave the library in threaded mode if creation of the initial
      KSE fails.
  
    o Wakeup idle KSEs when there are threads ready to run.
  
    o Maintain the number of threads active in the priority queue.
  
  Revision  Changes    Path
  1.6       +4 -2      src/lib/libpthread/arch/i386/i386/thr_switch.S
  1.19      +9 -3      src/lib/libpthread/thread/thr_cancel.c
  1.2       +63 -45    src/lib/libpthread/thread/thr_concurrency.c
  1.38      +7 -1      src/lib/libpthread/thread/thr_cond.c
  1.42      +7 -0      src/lib/libpthread/thread/thr_create.c
  1.21      +2 -13     src/lib/libpthread/thread/thr_detach.c
  1.31      +5 -2      src/lib/libpthread/thread/thr_exit.c
  1.11      +3 -0      src/lib/libpthread/thread/thr_find_thread.c
  1.24      +6 -8      src/lib/libpthread/thread/thr_join.c
  1.59      +121 -40   src/lib/libpthread/thread/thr_kern.c
  1.34      +26 -9     src/lib/libpthread/thread/thr_mutex.c
  1.19      +2 -2      src/lib/libpthread/thread/thr_nanosleep.c
  1.14      +5 -4      src/lib/libpthread/thread/thr_priority_queue.c
  1.84      +37 -9     src/lib/libpthread/thread/thr_private.h
  1.16      +3 -2      src/lib/libpthread/thread/thr_sigsuspend.c
  1.23      +2 -3      src/lib/libpthread/thread/thr_sigwait.c
  1.15      +16 -15    src/lib/libpthread/thread/thr_spinlock.c
  1.11      +4 -1      src/lib/libpthread/thread/thr_yield.c


More information about the cvs-src mailing list