diff options
author | Thomas Bushnell, BSG <tb@becket.net> | 2001-08-20 23:43:29 -0700 |
---|---|---|
committer | Thomas Schwinge <thomas@schwinge.name> | 2011-11-24 09:23:10 +0100 |
commit | 7868681998128e95cc797fc3cca934714fa948a0 (patch) | |
tree | 50089d69225398af2644ba54a3844b44dd96b14f /hurd | |
parent | 4fa5c2b40a6b91ea3956a807ba09adba28ef18cb (diff) |
id:"87hev152we.fsf@becket.becket.net".
Diffstat (limited to 'hurd')
-rw-r--r-- | hurd/libthreads.mdwn | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/hurd/libthreads.mdwn b/hurd/libthreads.mdwn new file mode 100644 index 00000000..8b1a97e6 --- /dev/null +++ b/hurd/libthreads.mdwn @@ -0,0 +1,28 @@ +[[!meta copyright="Copyright © 2011 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +`libthreads` a.k.a. C threads. + + +# Internals + + +## Threads' Death + +C threads death doesn't actually free the thread's stack (and maybe not the +associated Mach ports either). That's because there's no way to free the stack +after the thread dies (because the thread of control is gone); the stack needs +to be freed by something else, and there's nothing convenient to do it. There +are many ways to make it work. + +However, it isn't really a leak, because the unfreed resources do get used for +the next thread. So the issue is that the shrinkage of resource consumption +never happens, but it doesn't grow without bounds; it just stays at the maximum +even if the current number of threads is lower. |