<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/include/pthread.h, branch releng/8.1</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src/atom?h=releng%2F8.1</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src/atom?h=releng%2F8.1'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/'/>
<updated>2009-03-14T20:10:14Z</updated>
<entry>
<title>Fix the visibility of several prototypes. Also move pthread_kill() and</title>
<updated>2009-03-14T20:10:14Z</updated>
<author>
<name>David Schultz</name>
<email>das@FreeBSD.org</email>
</author>
<published>2009-03-14T20:10:14Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=48a3f7d9ae7a3d30f69dbef204f6e09b90dd6ce7'/>
<id>urn:sha1:48a3f7d9ae7a3d30f69dbef204f6e09b90dd6ce7</id>
<content type='text'>
pthread_sigmask() to signal.h. In principle, this shouldn't break anything,
since they're already in signal.h on other systems, and the FreeBSD
manpage says that both pthread.h and signal.h need to be included to
get these functions.

Add a hack to declare pthread_t in the P1003.1-2008 namespace
in signal.h.
</content>
</entry>
<entry>
<title>Make pthread_cleanup_push() and pthread_cleanup_pop() as a pair of macros,</title>
<updated>2008-06-09T01:14:10Z</updated>
<author>
<name>David Xu</name>
<email>davidxu@FreeBSD.org</email>
</author>
<published>2008-06-09T01:14:10Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=83a07587898c460f4444b85725f2dbdf26cf6f33'/>
<id>urn:sha1:83a07587898c460f4444b85725f2dbdf26cf6f33</id>
<content type='text'>
use stack space to keep cleanup information, this eliminates overhead of
calling malloc() and free() in thread library.

Discussed on: thread@
</content>
</entry>
<entry>
<title>Add POSIX pthread API pthread_getcpuclockid() to get a thread's cpu</title>
<updated>2008-03-22T09:59:20Z</updated>
<author>
<name>David Xu</name>
<email>davidxu@FreeBSD.org</email>
</author>
<published>2008-03-22T09:59:20Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=9939a13667567dd4b0c3496953d99b87a6995208'/>
<id>urn:sha1:9939a13667567dd4b0c3496953d99b87a6995208</id>
<content type='text'>
time clock id.
</content>
</entry>
<entry>
<title>Add a new "non-portable" mutex type, PTHREAD_MUTEX_ADAPTIVE_NP.  This</title>
<updated>2007-10-29T21:01:47Z</updated>
<author>
<name>Kris Kennaway</name>
<email>kris@FreeBSD.org</email>
</author>
<published>2007-10-29T21:01:47Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=2017a7cdfe8f1a0e38b76e8e8871fe90df07b8f7'/>
<id>urn:sha1:2017a7cdfe8f1a0e38b76e8e8871fe90df07b8f7</id>
<content type='text'>
is also implemented in glibc and is used by a number of existing
applications (mysql, firefox, etc).

This mutex type is a default mutex with the additional property that
it spins briefly when attempting to acquire a contested lock, doing
trylock operations in userland before entering the kernel to block if
eventually unsuccessful.

The expectation is that applications requesting this mutex type know
that the mutex is likely to be only held for very brief periods, so it
is faster to spin in userland and probably succeed in acquiring the
mutex, than to enter the kernel and sleep, only to be woken up almost
immediately.  This can help significantly in certain cases when
pthread mutexes are heavily contended and held for brief durations
(such as mysql).

Spin up to 200 times before entering the kernel, which represents only
a few us on modern CPUs.  No performance degradation was observed with
this value and it is sufficient to avoid a large performance drop in
mysql performance in the heavily contended pthread mutex case.

The libkse implementation is a NOP.

Reviewed by:      jeff
MFC after:        3 days
</content>
</entry>
<entry>
<title>Add prototype for following functions, plus tab fixes.</title>
<updated>2005-10-24T05:53:54Z</updated>
<author>
<name>David Xu</name>
<email>davidxu@FreeBSD.org</email>
</author>
<published>2005-10-24T05:53:54Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=02ea63873223ac4f3422825440f0e2657460ca14'/>
<id>urn:sha1:02ea63873223ac4f3422825440f0e2657460ca14</id>
<content type='text'>
	pthread_condattr_getpshared
	pthread_condattr_setpshared
	pthread_mutexattr_getpshared
	pthread_mutexattr_setpshared
</content>
</entry>
<entry>
<title>Improve POSIX conformance:</title>
<updated>2005-09-01T15:33:22Z</updated>
<author>
<name>Stefan Farfeleder</name>
<email>stefanf@FreeBSD.org</email>
</author>
<published>2005-09-01T15:33:22Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=323abbb7ce5ad4cf38c9ad68229c14008b712cb2'/>
<id>urn:sha1:323abbb7ce5ad4cf38c9ad68229c14008b712cb2</id>
<content type='text'>
- Don't pollute the namespace by including &lt;sys/types.h&gt;, &lt;sys/time.h&gt;,
  &lt;sys/signal.h&gt; and &lt;limits.h&gt;.  Use __MINSIGSTKSZ and __ULONG_MAX from
  &lt;machine/_limits.h&gt;, __sigset_t from &lt;sys/_sigset.h&gt; instead.
- Include &lt;time.h&gt; because POSIX says we have to.

PTHREAD_{DESTRUCTOR_ITERATIONS,KEYS_MAX,STACK_MIN,THREADS_MAX} should
eventually move to &lt;limits.h&gt; but are left here for now.

Discussed on:	standards@, threads@
</content>
</entry>
<entry>
<title>- Prefix MUTEX_TYPE_MAX with PTHREAD_ to avoid namespace pollution.</title>
<updated>2005-08-19T21:31:42Z</updated>
<author>
<name>Stefan Farfeleder</name>
<email>stefanf@FreeBSD.org</email>
</author>
<published>2005-08-19T21:31:42Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=ad7c49168f8b32fedbe11f4675cb7d4bd3b896e6'/>
<id>urn:sha1:ad7c49168f8b32fedbe11f4675cb7d4bd3b896e6</id>
<content type='text'>
- Remove the macros MUTEX_TYPE_FAST and MUTEX_TYPE_COUNTING_FAST.

OK'ed by:	deischen
</content>
</entry>
<entry>
<title>Remove parameter names, the identifiers were in the user namespace.</title>
<updated>2005-08-19T08:37:16Z</updated>
<author>
<name>Stefan Farfeleder</name>
<email>stefanf@FreeBSD.org</email>
</author>
<published>2005-08-19T08:37:16Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=6ee81d6ffbe8bd871ecba9536b703a257d2d8279'/>
<id>urn:sha1:6ee81d6ffbe8bd871ecba9536b703a257d2d8279</id>
<content type='text'>
</content>
</entry>
<entry>
<title>According to:</title>
<updated>2005-05-31T15:18:17Z</updated>
<author>
<name>Craig Rodrigues</name>
<email>rodrigc@FreeBSD.org</email>
</author>
<published>2005-05-31T15:18:17Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=4d62f529a326eac688ff116f9f6b54dae15056f6'/>
<id>urn:sha1:4d62f529a326eac688ff116f9f6b54dae15056f6</id>
<content type='text'>
http://www.opengroup.org/onlinepubs/009695399/basedefs/sys/types.h.html

#include &lt;sys/types.h&gt;
should include the definitions of pthread types.

PR:		standards/78907
Reported by:	Brooks Davis
Approved by:	das (mentor)
</content>
</entry>
<entry>
<title>Increase PTHREAD_STACK_MIN to MINSIGSTKSZ because thread libraries now use</title>
<updated>2005-04-11T03:47:42Z</updated>
<author>
<name>David Xu</name>
<email>davidxu@FreeBSD.org</email>
</author>
<published>2005-04-11T03:47:42Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=213a268eec7f564c404898fe32ecc9c0c2b1104c'/>
<id>urn:sha1:213a268eec7f564c404898fe32ecc9c0c2b1104c</id>
<content type='text'>
makecontext which enforces a minimum stack size to be MINSIGSTKSZ.

Bug report: Bill Middleton &lt;flashdict at gmail dot com&gt;, BSD-sharp project.
</content>
</entry>
</feed>
