<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/lib/libc_r/uthread/uthread_init.c, branch release/4.2.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>2000-11-20T04:41:45+00:00</updated>
<author>
<name>cvs2svn</name>
<email>cvs2svn@FreeBSD.org</email>
</author>
<published>2000-11-20T04:41:45+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=0d497cf6e989f7498cf5036a29fe7003a89abf83'/>
<id>0d497cf6e989f7498cf5036a29fe7003a89abf83</id>
<content type='text'>
'RELENG_4_2_0_RELEASE'.

This commit was manufactured to restore the state of the 4.2-RELEASE image.
Releases prior to 5.3-RELEASE are omitting the secure/ and crypto/ subdirs.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
'RELENG_4_2_0_RELEASE'.

This commit was manufactured to restore the state of the 4.2-RELEASE image.
Releases prior to 5.3-RELEASE are omitting the secure/ and crypto/ subdirs.
</pre>
</div>
</content>
</entry>
<entry>
<title>MFC: Fix a bug where the signal handler can trample on the</title>
<updated>2000-11-16T20:21:51+00:00</updated>
<author>
<name>Daniel Eischen</name>
<email>deischen@FreeBSD.org</email>
</author>
<published>2000-11-16T20:21:51+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=2872265e8b1362d12ce515f92e3ba72d4d19cd68'/>
<id>2872265e8b1362d12ce515f92e3ba72d4d19cd68</id>
<content type='text'>
     stack in which it is currently executing.

Approved by:	jkh
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
     stack in which it is currently executing.

Approved by:	jkh
</pre>
</div>
</content>
</entry>
<entry>
<title>MFC: bring in signal handling changes, bug fixes, performance</title>
<updated>2000-11-09T23:46:05+00:00</updated>
<author>
<name>Daniel Eischen</name>
<email>deischen@FreeBSD.org</email>
</author>
<published>2000-11-09T23:46:05+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=ffdee96937558a4a9203283f6c8d86b6c60a5946'/>
<id>ffdee96937558a4a9203283f6c8d86b6c60a5946</id>
<content type='text'>
     enhancements, and other good stuff.  gdb thread changes to
     follow later tonight.

Approved by:	jkh
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
     enhancements, and other good stuff.  gdb thread changes to
     follow later tonight.

Approved by:	jkh
</pre>
</div>
</content>
</entry>
<entry>
<title>MFC: Always do the right thing if there are multiple sigwait()ers for the</title>
<updated>2000-07-12T04:47:27+00:00</updated>
<author>
<name>Jason Evans</name>
<email>jasone@FreeBSD.org</email>
</author>
<published>2000-07-12T04:47:27+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=4667c8221889777b1c5c28629cd0d12001aac3d9'/>
<id>4667c8221889777b1c5c28629cd0d12001aac3d9</id>
<content type='text'>
same signal.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
same signal.
</pre>
</div>
</content>
</entry>
<entry>
<title>Implement continuations to correctly handle [sig|_]longjmp() inside of a</title>
<updated>2000-01-19T07:04:50+00:00</updated>
<author>
<name>Jason Evans</name>
<email>jasone@FreeBSD.org</email>
</author>
<published>2000-01-19T07:04:50+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=0a3fa43c7e06dfbd6ddde4767d9c8a0c6a2ad51f'/>
<id>0a3fa43c7e06dfbd6ddde4767d9c8a0c6a2ad51f</id>
<content type='text'>
signal handler.  Explicitly check for jumps to anywhere other than the
current stack, since such jumps are undefined according to POSIX.

While we're at it, convert thread cancellation to use continuations, since
it's cleaner than the original cancellation code.

Avoid delivering a signal to a thread twice.  This was a pre-existing bug,
but was likely unexposed until these other changes were made.

Defer signals generated by pthread_kill() so that they can be delivered on
the appropriate stack.  deischen claims that this is unnecessary, which is
likely true, but without this change, pthread_kill() can cause undefined
priority queue states and/or PANICs in [sig|_]longjmp(), so I'm leaving
this in for now.  To compile this code out and exercise the bug, define
the _NO_UNDISPATCH cpp macro.  Defining _PTHREADS_INVARIANTS as well will
cause earlier crashes.

PR:			kern/14685
Collaboration with:	deischen
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
signal handler.  Explicitly check for jumps to anywhere other than the
current stack, since such jumps are undefined according to POSIX.

While we're at it, convert thread cancellation to use continuations, since
it's cleaner than the original cancellation code.

Avoid delivering a signal to a thread twice.  This was a pre-existing bug,
but was likely unexposed until these other changes were made.

Defer signals generated by pthread_kill() so that they can be delivered on
the appropriate stack.  deischen claims that this is unnecessary, which is
likely true, but without this change, pthread_kill() can cause undefined
priority queue states and/or PANICs in [sig|_]longjmp(), so I'm leaving
this in for now.  To compile this code out and exercise the bug, define
the _NO_UNDISPATCH cpp macro.  Defining _PTHREADS_INVARIANTS as well will
cause earlier crashes.

PR:			kern/14685
Collaboration with:	deischen
</pre>
</div>
</content>
</entry>
<entry>
<title>Properly initialize the last active time of the initial thread.  This fixes</title>
<updated>2000-01-18T11:35:25+00:00</updated>
<author>
<name>Daniel Eischen</name>
<email>deischen@FreeBSD.org</email>
</author>
<published>2000-01-18T11:35:25+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=7e416d8e49614a0bb7507abbf21eb4c7da76062c'/>
<id>7e416d8e49614a0bb7507abbf21eb4c7da76062c</id>
<content type='text'>
the case that a CPU hungry main thread is prevented from being preempted
due to a negative calculation of its time slice.

Reported by:	Alexander Litvin &lt;archer@lucky.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
the case that a CPU hungry main thread is prevented from being preempted
due to a negative calculation of its time slice.

Reported by:	Alexander Litvin &lt;archer@lucky.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Don't explicitly mmap() red zones at the bottom of thread stacks (except</title>
<updated>1999-12-29T15:44:59+00:00</updated>
<author>
<name>Jason Evans</name>
<email>jasone@FreeBSD.org</email>
</author>
<published>1999-12-29T15:44:59+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=91e92a2d3d40eaa9db59cd673229d3cbe90ef3dd'/>
<id>91e92a2d3d40eaa9db59cd673229d3cbe90ef3dd</id>
<content type='text'>
the initial thread).  Instead, just leave an unmapped gap between thread
stacks and make sure that the thread stacks won't grow into these gaps,
simply by limiting the size of the stacks with the 'len' argument to
mmap().  This (if I understand correctly) reduces VM overhead
considerably.

Reviewed by:	deischen
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
the initial thread).  Instead, just leave an unmapped gap between thread
stacks and make sure that the thread stacks won't grow into these gaps,
simply by limiting the size of the stacks with the 'len' argument to
mmap().  This (if I understand correctly) reduces VM overhead
considerably.

Reviewed by:	deischen
</pre>
</div>
</content>
</entry>
<entry>
<title>Change stack allocation algorithm to make better use of memory</title>
<updated>1999-12-28T18:12:07+00:00</updated>
<author>
<name>Daniel Eischen</name>
<email>deischen@FreeBSD.org</email>
</author>
<published>1999-12-28T18:12:07+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=69186ed701cbfc740d08df24d46b8d184b6f57eb'/>
<id>69186ed701cbfc740d08df24d46b8d184b6f57eb</id>
<content type='text'>
(it was leaving an unused block).  Also protect the global stack
pointer from context changes while fiddling with it.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
(it was leaving an unused block).  Also protect the global stack
pointer from context changes while fiddling with it.
</pre>
</div>
</content>
</entry>
<entry>
<title>add pthread_cancel, obtained from OpenBSD.</title>
<updated>1999-11-28T05:38:13+00:00</updated>
<author>
<name>Alfred Perlstein</name>
<email>alfred@FreeBSD.org</email>
</author>
<published>1999-11-28T05:38:13+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=7285bccf1a9224fadd3b7b81be034cd04f35a820'/>
<id>7285bccf1a9224fadd3b7b81be034cd04f35a820</id>
<content type='text'>
eischen (Daniel Eischen) added wrappers to protect against cancled
threads orphaning internal resources.

the cancelability code is still a bit fuzzy but works for test
programs of my own, OpenBSD's and some examples from ORA's books.

add readdir_r to both libc and libc_r

add some 'const' attributes to function parameters

Reviewed by: eischen, jasone
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
eischen (Daniel Eischen) added wrappers to protect against cancled
threads orphaning internal resources.

the cancelability code is still a bit fuzzy but works for test
programs of my own, OpenBSD's and some examples from ORA's books.

add readdir_r to both libc and libc_r

add some 'const' attributes to function parameters

Reviewed by: eischen, jasone
</pre>
</div>
</content>
</entry>
<entry>
<title>$Id$ -&gt; $FreeBSD$</title>
<updated>1999-08-28T00:22:10+00:00</updated>
<author>
<name>Peter Wemm</name>
<email>peter@FreeBSD.org</email>
</author>
<published>1999-08-28T00:22:10+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=7f3dea244c40159a41ab22da77a434d7c5b5e85a'/>
<id>7f3dea244c40159a41ab22da77a434d7c5b5e85a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
