mirror_zfs/lib
Etienne Dechamps 0aebd4f9e3 Create threads in detached state in userspace.
Currently, thread_create(), when called in userspace, creates a
joinable (i.e. not detached thread). This is the pthread default.

Unfortunately, this does not reproduce kthreads behavior (kthreads
are always detached). In addition, this contradicts the original
Solaris code which creates userspace threads in detached mode.

These joinable threads are never joined, which leads to a leakage of
pthread thread objects ("zombie threads"). This in turn results in
excessive ressource consumption, and possible ressource exhaustion in
extreme cases (e.g. long ztest runs).

This patch fixes the issue by creating userspace threads in detached
mode. The only exception is ztest worker threads which are meant to be
joinable.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Issue #989
2012-10-03 13:32:48 -07:00
..
libavl Remove autotools products 2012-08-27 11:47:44 -07:00
libefi Remove autotools products 2012-08-27 11:47:44 -07:00
libnvpair Remove autotools products 2012-08-27 11:47:44 -07:00
libshare Avoid running exportfs on each zfs/zpool command invocation 2012-09-11 10:21:49 -07:00
libspl Remove autotools products 2012-08-27 11:47:44 -07:00
libunicode Remove autotools products 2012-08-27 11:47:44 -07:00
libuutil Remove autotools products 2012-08-27 11:47:44 -07:00
libzfs Illumos #2703: add mechanism to report ZFS send progress 2012-09-19 13:39:06 -07:00
libzpool Create threads in detached state in userspace. 2012-10-03 13:32:48 -07:00
Makefile.am Let libnvpair be linked independently of libzfs. 2012-02-07 11:37:15 -08:00