<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/lib/libc_r/uthread/uthread_create.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>For the amd64 we need to do some extra stack alignment fixups.  Otherwise</title>
<updated>2003-12-03T06:54:40+00:00</updated>
<author>
<name>Peter Wemm</name>
<email>peter@FreeBSD.org</email>
</author>
<published>2003-12-03T06:54:40+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=29f2f145e45538c397bdfac2bc830bb25196101c'/>
<id>29f2f145e45538c397bdfac2bc830bb25196101c</id>
<content type='text'>
we can end up with some threads with a non-16-byte-aligned stack.  This
causes some interesting side effects, including general protection
faults leading to a SIGBUS when doing floating point or varargs.  This
should be just a verbose NOP for the other platforms.

Approved by:  re (scottl)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
we can end up with some threads with a non-16-byte-aligned stack.  This
causes some interesting side effects, including general protection
faults leading to a SIGBUS when doing floating point or varargs.  This
should be just a verbose NOP for the other platforms.

Approved by:  re (scottl)
</pre>
</div>
</content>
</entry>
<entry>
<title>Port libc_r to ia64. We need to do things slightly different</title>
<updated>2003-01-06T00:56:23+00:00</updated>
<author>
<name>Marcel Moolenaar</name>
<email>marcel@FreeBSD.org</email>
</author>
<published>2003-01-06T00:56:23+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=4b1d654efb3395bc768ed5b034a7b311bea76185'/>
<id>4b1d654efb3395bc768ed5b034a7b311bea76185</id>
<content type='text'>
because we have 2 stacks per thread: the regular downward
memory stack and the irregular upward register stack. This
implementation lets both stacks grow toward each other. An
alternative scheme is to have them grow away from each other.
The alternate scheme has the advantage that both stack grow
toward guard pages. Since libc_r is virtually dead and we
really want the *context stuff for thread switching, we don't
try to be perfect, just functional.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
because we have 2 stacks per thread: the regular downward
memory stack and the irregular upward register stack. This
implementation lets both stacks grow toward each other. An
alternative scheme is to have them grow away from each other.
The alternate scheme has the advantage that both stack grow
toward guard pages. Since libc_r is virtually dead and we
really want the *context stuff for thread switching, we don't
try to be perfect, just functional.
</pre>
</div>
</content>
</entry>
<entry>
<title>At initialization, override the pthread stub routines in libc</title>
<updated>2002-11-13T18:13:26+00:00</updated>
<author>
<name>Daniel Eischen</name>
<email>deischen@FreeBSD.org</email>
</author>
<published>2002-11-13T18:13:26+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=f38fac1471e9194e6de360dabbb59821fd8e0c1b'/>
<id>f38fac1471e9194e6de360dabbb59821fd8e0c1b</id>
<content type='text'>
by filling in the jump table.

Convert uses of pthread routines within libc_r to use the internal
versions (_pthread_foo instead of pthread_foo).

Remove a couple of globals from application namespace.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
by filling in the jump table.

Convert uses of pthread routines within libc_r to use the internal
versions (_pthread_foo instead of pthread_foo).

Remove a couple of globals from application namespace.
</pre>
</div>
</content>
</entry>
<entry>
<title>Be more agresive on arguments' checking.</title>
<updated>2002-10-26T13:47:06+00:00</updated>
<author>
<name>Alexey Zelkin</name>
<email>phantom@FreeBSD.org</email>
</author>
<published>2002-10-26T13:47:06+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=64536616e6dbdbcbf9866ce77add1b1d0b35720b'/>
<id>64536616e6dbdbcbf9866ce77add1b1d0b35720b</id>
<content type='text'>
OK'ed by:	deischen
MFC after:	3 days
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
OK'ed by:	deischen
MFC after:	3 days
</pre>
</div>
</content>
</entry>
<entry>
<title>Oops, forgot to set the suspended flag for threads that are created</title>
<updated>2002-07-09T13:24:52+00:00</updated>
<author>
<name>Daniel Eischen</name>
<email>deischen@FreeBSD.org</email>
</author>
<published>2002-07-09T13:24:52+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=582dfa2dd46f85479a256228bcf16eae5e89fce0'/>
<id>582dfa2dd46f85479a256228bcf16eae5e89fce0</id>
<content type='text'>
initially suspended.  This was preventing such threads from getting
resumed.

Reported by:	Bill Huey &lt;billh@gnuppy.monkey.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
initially suspended.  This was preventing such threads from getting
resumed.

Reported by:	Bill Huey &lt;billh@gnuppy.monkey.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Add the ability to recognize old references to keys, and return NULL</title>
<updated>2002-03-19T22:58:56+00:00</updated>
<author>
<name>Daniel Eischen</name>
<email>deischen@FreeBSD.org</email>
</author>
<published>2002-03-19T22:58:56+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=3003bdb5983ac249a54696112d841e1d6ed28d00'/>
<id>3003bdb5983ac249a54696112d841e1d6ed28d00</id>
<content type='text'>
when old keys are referenced (after pthread_key_delete()) via
pthread_getspecific().
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
when old keys are referenced (after pthread_key_delete()) via
pthread_getspecific().
</pre>
</div>
</content>
</entry>
<entry>
<title>This has been sitting in my local tree long enough.  Remove the use</title>
<updated>2002-02-09T19:58:41+00:00</updated>
<author>
<name>Daniel Eischen</name>
<email>deischen@FreeBSD.org</email>
</author>
<published>2002-02-09T19:58:41+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=69c287d28883bd2e3576b568e10625bd96fa16f4'/>
<id>69c287d28883bd2e3576b568e10625bd96fa16f4</id>
<content type='text'>
of an alternate signal stack for handling signals.  Let the kernel
send signals on the stack of the current thread and teach the threads
signal handler how to deliver signals to the current thread if it
needs to.  Also, always store a threads context as a jmp_buf.  Eventually
this will change to be a ucontext_t or mcontext_t.

Other small nits.  Use struct pthread * instead of pthread_t in internal
library routines.  The threads code wants struct pthread *, and pthread_t
doesn't necessarily have to be the same.

Reviewed by:	jasone
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
of an alternate signal stack for handling signals.  Let the kernel
send signals on the stack of the current thread and teach the threads
signal handler how to deliver signals to the current thread if it
needs to.  Also, always store a threads context as a jmp_buf.  Eventually
this will change to be a ucontext_t or mcontext_t.

Other small nits.  Use struct pthread * instead of pthread_t in internal
library routines.  The threads code wants struct pthread *, and pthread_t
doesn't necessarily have to be the same.

Reviewed by:	jasone
</pre>
</div>
</content>
</entry>
<entry>
<title>Implement pthread_attr_[gs]etguardsize().  Non-default-size stacks used to</title>
<updated>2001-07-20T04:23:11+00:00</updated>
<author>
<name>Jason Evans</name>
<email>jasone@FreeBSD.org</email>
</author>
<published>2001-07-20T04:23:11+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=aa33517e949a0603d3bac6cba0c05344ca68754c'/>
<id>aa33517e949a0603d3bac6cba0c05344ca68754c</id>
<content type='text'>
be malloc()ed, but they are now allocated using mmap(), just as the
default-size stacks are.  A separate cache of stacks is kept for
non-default-size stacks.

Collaboration with:	deischen
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
be malloc()ed, but they are now allocated using mmap(), just as the
default-size stacks are.  A separate cache of stacks is kept for
non-default-size stacks.

Collaboration with:	deischen
</pre>
</div>
</content>
</entry>
<entry>
<title>Instead of using a join queue for each thread, use a single pointer to</title>
<updated>2001-05-20T23:08:33+00:00</updated>
<author>
<name>Jason Evans</name>
<email>jasone@FreeBSD.org</email>
</author>
<published>2001-05-20T23:08:33+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=6699b0c6fe5ba655ac55ea5cba946fdcc0cf228b'/>
<id>6699b0c6fe5ba655ac55ea5cba946fdcc0cf228b</id>
<content type='text'>
keep track of a joiner.  POSIX only supports a single joiner, so this
simplification is acceptable.

At the same time, make sure to mark a joined thread as detached so that
its resources can be freed.

Reviewed by:	deischen
PR:		24345
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
keep track of a joiner.  POSIX only supports a single joiner, so this
simplification is acceptable.

At the same time, make sure to mark a joined thread as detached so that
its resources can be freed.

Reviewed by:	deischen
PR:		24345
</pre>
</div>
</content>
</entry>
</feed>
