<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src-test2/lib/libthr/thread, branch release/5.2.1_cvs</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src-test2/atom?h=release%2F5.2.1_cvs</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src-test2/atom?h=release%2F5.2.1_cvs'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/'/>
<updated>2004-02-23T15:32:56Z</updated>
<entry>
<title>This commit was manufactured by cvs2svn to create tag</title>
<updated>2004-02-23T15:32:56Z</updated>
<author>
<name>cvs2svn</name>
<email>cvs2svn@FreeBSD.org</email>
</author>
<published>2004-02-23T15:32:56Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=84a7b99b4e02a260bf7ff9b540032f4cb7bc612a'/>
<id>urn:sha1:84a7b99b4e02a260bf7ff9b540032f4cb7bc612a</id>
<content type='text'>
'RELENG_5_2_1_RELEASE'.

This commit was manufactured to restore the state of the 5.2.1-RELEASE image.
Releases prior to 5.3-RELEASE are omitting the secure/ and crypto/ subdirs.
</content>
</entry>
<entry>
<title>When _PTHREADSINVARIANTS is defined SIGABRT is not included</title>
<updated>2003-07-08T09:58:23Z</updated>
<author>
<name>Mike Makonnen</name>
<email>mtm@FreeBSD.org</email>
</author>
<published>2003-07-08T09:58:23Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=393441d43b6de1b136dc816902477f8e34ff90a8'/>
<id>urn:sha1:393441d43b6de1b136dc816902477f8e34ff90a8</id>
<content type='text'>
in the set of signals to block.
Also, make the PANIC macro call abort() instead of simply
exiting.
</content>
</entry>
<entry>
<title>Change all instances of THR_LOCK/UNLOCK, etc to UMTX_*.</title>
<updated>2003-07-06T10:18:48Z</updated>
<author>
<name>Mike Makonnen</name>
<email>mtm@FreeBSD.org</email>
</author>
<published>2003-07-06T10:18:48Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=659045ffbfab93ae8438b07e81c09da1271bd9d8'/>
<id>urn:sha1:659045ffbfab93ae8438b07e81c09da1271bd9d8</id>
<content type='text'>
It is a more acurate description of the locks they
operate on.
</content>
</entry>
<entry>
<title>There's no need for _umtxtrylock to be a separate function.</title>
<updated>2003-07-06T10:10:32Z</updated>
<author>
<name>Mike Makonnen</name>
<email>mtm@FreeBSD.org</email>
</author>
<published>2003-07-06T10:10:32Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=964407197732fe475fe8f9a54cb68884dd447a94'/>
<id>urn:sha1:964407197732fe475fe8f9a54cb68884dd447a94</id>
<content type='text'>
Roll it into the pre-existing macro that's used to call it.
</content>
</entry>
<entry>
<title>_pthread_mutex_trylock() is another internal libc function that must block</title>
<updated>2003-07-03T13:28:53Z</updated>
<author>
<name>Mike Makonnen</name>
<email>mtm@FreeBSD.org</email>
</author>
<published>2003-07-03T13:28:53Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=e921a3c976e6f2841902088af2af85448881ce48'/>
<id>urn:sha1:e921a3c976e6f2841902088af2af85448881ce48</id>
<content type='text'>
signals.
</content>
</entry>
<entry>
<title>Begin making libthr async signal safe.</title>
<updated>2003-07-02T02:05:23Z</updated>
<author>
<name>Mike Makonnen</name>
<email>mtm@FreeBSD.org</email>
</author>
<published>2003-07-02T02:05:23Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=f493d09ae7e2d3588750371083fd7b06beb6e2b8'/>
<id>urn:sha1:f493d09ae7e2d3588750371083fd7b06beb6e2b8</id>
<content type='text'>
Create a private, single underscore, version of pthread_mutex_unlock for libc.
pthread_mutex_lock already has one. These versions are different from the
ones that applications will link against because they block all signals
from the time a call to lock the mutex is made until it is successfully
unlocked.
</content>
</entry>
<entry>
<title>Do not attempt to reque a thread on a mutex queue. It may be that</title>
<updated>2003-07-01T15:52:09Z</updated>
<author>
<name>Mike Makonnen</name>
<email>mtm@FreeBSD.org</email>
</author>
<published>2003-07-01T15:52:09Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=745a4a9ef8ee3864c88b94a771d30d9475641fc9'/>
<id>urn:sha1:745a4a9ef8ee3864c88b94a771d30d9475641fc9</id>
<content type='text'>
a thread receives a spurious wakeup from sigtimedwait(), so make sure
that the call to the queueing code is called only once before entering
the loop (not in the loop). This should fix some fatal errors people
are seeing with messages stating the thread is already on the mutex queue.
These errors may still be triggered from signal handlers; however, since
that part of the code is not locked down yet.
</content>
</entry>
<entry>
<title>Catchup with _thread_suspend() changes.</title>
<updated>2003-06-30T12:35:31Z</updated>
<author>
<name>Mike Makonnen</name>
<email>mtm@FreeBSD.org</email>
</author>
<published>2003-06-30T12:35:31Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=fadd82e36791b989a9636e15c2c81c716277183a'/>
<id>urn:sha1:fadd82e36791b989a9636e15c2c81c716277183a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Sweep through pthread locking and use the new locking primitives for</title>
<updated>2003-06-29T23:51:04Z</updated>
<author>
<name>Mike Makonnen</name>
<email>mtm@FreeBSD.org</email>
</author>
<published>2003-06-29T23:51:04Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=dbc6f4c07d5f2ea73bb7f1845acccd55049a60dd'/>
<id>urn:sha1:dbc6f4c07d5f2ea73bb7f1845acccd55049a60dd</id>
<content type='text'>
libthr.
</content>
</entry>
<entry>
<title>Locking primitives and operations in libthr should use struct umtx,</title>
<updated>2003-06-29T23:49:41Z</updated>
<author>
<name>Mike Makonnen</name>
<email>mtm@FreeBSD.org</email>
</author>
<published>2003-06-29T23:49:41Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=2234d5bea27e14811726a905f5a933389335055c'/>
<id>urn:sha1:2234d5bea27e14811726a905f5a933389335055c</id>
<content type='text'>
not spinlock_t. Spinlock_t and the associated functions and macros may
require blocking signals in order for async-safe libc functions to behave
appropriately in libthr. This is undesriable for libthr internal locking.
So, this is the first step in completely separating libthr from libc's
locking primitives.

Three new macros should be used for internal libthr locking from now on:
THR_LOCK, THR_TRYLOCK, THR_UNLOCK.
</content>
</entry>
</feed>
