summaryrefslogtreecommitdiff
path: root/hurd/libthreads.mdwn
diff options
context:
space:
mode:
Diffstat (limited to 'hurd/libthreads.mdwn')
-rw-r--r--hurd/libthreads.mdwn10
1 files changed, 8 insertions, 2 deletions
diff --git a/hurd/libthreads.mdwn b/hurd/libthreads.mdwn
index 8b1a97e6..c8d819d4 100644
--- a/hurd/libthreads.mdwn
+++ b/hurd/libthreads.mdwn
@@ -1,4 +1,4 @@
-[[!meta copyright="Copyright © 2011 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2011, 2012 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
@@ -13,10 +13,14 @@ License|/fdl]]."]]"""]]
# Internals
+## Threading Model
+
+libthreads has a 1:1 threading model.
+
## Threads' Death
-C threads death doesn't actually free the thread's stack (and maybe not the
+A thread's 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
@@ -26,3 +30,5 @@ 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.
+
+The same issue exists in [[libpthread]].