<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/lib/libpthread/thread/thr_sigwait.c, branch release/5.3.0_cvs</title>
<subtitle>FreeBSD source tree</subtitle>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/'/>
<entry>
<title>This commit was manufactured by cvs2svn to create tag</title>
<updated>2004-11-04T19:12:42+00:00</updated>
<author>
<name>cvs2svn</name>
<email>cvs2svn@FreeBSD.org</email>
</author>
<published>2004-11-04T19:12:42+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=3f86d8a2ea3f3265afaa1fd263b0004c5c000e69'/>
<id>3f86d8a2ea3f3265afaa1fd263b0004c5c000e69</id>
<content type='text'>
'RELENG_5_3_0_RELEASE'.

This commit was manufactured to restore the state of the 5.3-RELEASE image.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
'RELENG_5_3_0_RELEASE'.

This commit was manufactured to restore the state of the 5.3-RELEASE image.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix a POSIX conformance bug. POSIX says sigwait should return error number</title>
<updated>2004-03-17T02:12:19+00:00</updated>
<author>
<name>David Xu</name>
<email>davidxu@FreeBSD.org</email>
</author>
<published>2004-03-17T02:12:19+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=3128c7b24e9b039671194afdd098081f25659e17'/>
<id>3128c7b24e9b039671194afdd098081f25659e17</id>
<content type='text'>
in return value not in errno.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
in return value not in errno.
</pre>
</div>
</content>
</entry>
<entry>
<title>Rename _thr_enter_cancellation_point to _thr_cancel_enter, rename</title>
<updated>2003-12-09T02:20:56+00:00</updated>
<author>
<name>David Xu</name>
<email>davidxu@FreeBSD.org</email>
</author>
<published>2003-12-09T02:20:56+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=71679e629d6933bda40564da2a54894aed1358f3'/>
<id>71679e629d6933bda40564da2a54894aed1358f3</id>
<content type='text'>
_thr_leave_cancellation_point to _thr_cancel_leave, add a parameter
to _thr_cancel_leave to indicate whether cancellation point should be
checked, this gives us an option to not check cancallation point if
a syscall successfully returns to avoid any leaks, current I have
creat(), open() and fcntl(F_DUPFD) to not check cancellation point
after they sucessfully returned.

Replace some members in structure kse with bit flags to same some
memory.

Conditionally compile THR_ASSERT to nothing if _PTHREAD_INVARIANTS is
not defined.

Inline some small functions in thr_cancel.c.

Use __predict_false in thr_kern.c for some executed only once code.

Reviewd by: deischen
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
_thr_leave_cancellation_point to _thr_cancel_leave, add a parameter
to _thr_cancel_leave to indicate whether cancellation point should be
checked, this gives us an option to not check cancallation point if
a syscall successfully returns to avoid any leaks, current I have
creat(), open() and fcntl(F_DUPFD) to not check cancellation point
after they sucessfully returned.

Replace some members in structure kse with bit flags to same some
memory.

Conditionally compile THR_ASSERT to nothing if _PTHREAD_INVARIANTS is
not defined.

Inline some small functions in thr_cancel.c.

Use __predict_false in thr_kern.c for some executed only once code.

Reviewd by: deischen
</pre>
</div>
</content>
</entry>
<entry>
<title>Treat initial thread as scope system thread when KSE mode is not activated</title>
<updated>2003-08-18T03:58:29+00:00</updated>
<author>
<name>David Xu</name>
<email>davidxu@FreeBSD.org</email>
</author>
<published>2003-08-18T03:58:29+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=e81bbed597a0ea8392ded3f1161aa98151c496a5'/>
<id>e81bbed597a0ea8392ded3f1161aa98151c496a5</id>
<content type='text'>
yet, so we can protect some locking code from being interrupted by signal
handling. When KSE mode is turned on, reset the thread flag to scope process
except we are running in 1:1 mode which we needn't turn it off.
Also remove some unused member variables in structure kse.

Tested by: deischen
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
yet, so we can protect some locking code from being interrupted by signal
handling. When KSE mode is turned on, reset the thread flag to scope process
except we are running in 1:1 mode which we needn't turn it off.
Also remove some unused member variables in structure kse.

Tested by: deischen
</pre>
</div>
</content>
</entry>
<entry>
<title>Simplify sigwait code a bit by using a waitset and removing oldsigmask.</title>
<updated>2003-07-27T06:46:34+00:00</updated>
<author>
<name>David Xu</name>
<email>davidxu@FreeBSD.org</email>
</author>
<published>2003-07-27T06:46:34+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=41282b992fce1ffaef24e810ff3ca8ff747abcc0'/>
<id>41282b992fce1ffaef24e810ff3ca8ff747abcc0</id>
<content type='text'>
Reviewed by: deischen
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Reviewed by: deischen
</pre>
</div>
</content>
</entry>
<entry>
<title>o Eliminate upcall for PTHREAD_SYSTEM_SCOPE thread, now it</title>
<updated>2003-07-17T23:02:30+00:00</updated>
<author>
<name>David Xu</name>
<email>davidxu@FreeBSD.org</email>
</author>
<published>2003-07-17T23:02:30+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=090b336154a0d8570ea8fad84e60e7d49aa801e7'/>
<id>090b336154a0d8570ea8fad84e60e7d49aa801e7</id>
<content type='text'>
  is system bound thread and when it is blocked, no upcall is generated.

o Add ability to libkse to allow it run in pure 1:1 threading mode,
  defining SYSTEM_SCOPE_ONLY in Makefile can turn on this option.

o Eliminate code for installing dummy signal handler for sigwait call.

o Add hash table to find thread.

Reviewed by: deischen
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
  is system bound thread and when it is blocked, no upcall is generated.

o Add ability to libkse to allow it run in pure 1:1 threading mode,
  defining SYSTEM_SCOPE_ONLY in Makefile can turn on this option.

o Eliminate code for installing dummy signal handler for sigwait call.

o Add hash table to find thread.

Reviewed by: deischen
</pre>
</div>
</content>
</entry>
<entry>
<title>POSIX says if a thread is in sigwait state, although a signal may not in</title>
<updated>2003-07-09T14:30:51+00:00</updated>
<author>
<name>David Xu</name>
<email>davidxu@FreeBSD.org</email>
</author>
<published>2003-07-09T14:30:51+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=d80384bc8dae3cb11739fe7483ba06941725e1eb'/>
<id>d80384bc8dae3cb11739fe7483ba06941725e1eb</id>
<content type='text'>
its waitset, but if the signal is not masked by the thread, the signal
can interrupt the thread and signal action can be invoked by the thread,
sigwait should return with errno set to EINTR.
Also save and restore thread internal state(timeout and interrupted)
around signal handler invoking.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
its waitset, but if the signal is not masked by the thread, the signal
can interrupt the thread and signal action can be invoked by the thread,
sigwait should return with errno set to EINTR.
Also save and restore thread internal state(timeout and interrupted)
around signal handler invoking.
</pre>
</div>
</content>
</entry>
<entry>
<title>Correctly lock/unlock signal lock. I must be in bad state, need to sleep.</title>
<updated>2003-07-04T08:51:37+00:00</updated>
<author>
<name>David Xu</name>
<email>davidxu@FreeBSD.org</email>
</author>
<published>2003-07-04T08:51:37+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=a1a9b0071e4bc1d6d5616d37196f44116df29768'/>
<id>a1a9b0071e4bc1d6d5616d37196f44116df29768</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Always check and restore sigaction previously set, also access user parameter</title>
<updated>2003-07-04T07:49:06+00:00</updated>
<author>
<name>David Xu</name>
<email>davidxu@FreeBSD.org</email>
</author>
<published>2003-07-04T07:49:06+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=dfde101719562e3c9c126f8139cd209578e18e2d'/>
<id>dfde101719562e3c9c126f8139cd209578e18e2d</id>
<content type='text'>
outside of lock.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
outside of lock.
</pre>
</div>
</content>
</entry>
<entry>
<title>Because there are only _SIG_MAXSIG elements in thread siginfo array,</title>
<updated>2003-06-30T06:16:50+00:00</updated>
<author>
<name>David Xu</name>
<email>davidxu@FreeBSD.org</email>
</author>
<published>2003-06-30T06:16:50+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=5af40bb68ac5ebc8f50531fe6f99d040b7ebdd93'/>
<id>5af40bb68ac5ebc8f50531fe6f99d040b7ebdd93</id>
<content type='text'>
use [signal number - 1] as subscript to access the array.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
use [signal number - 1] as subscript to access the array.
</pre>
</div>
</content>
</entry>
</feed>
