<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/lib/libthr/pthread.map, branch releng/9.1</title>
<subtitle>FreeBSD source tree</subtitle>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/'/>
<entry>
<title>Introduce a non-portable function pthread_getthreadid_np(3) to retrieve</title>
<updated>2011-02-07T21:26:46+00:00</updated>
<author>
<name>Jung-uk Kim</name>
<email>jkim@FreeBSD.org</email>
</author>
<published>2011-02-07T21:26:46+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=678b238c85ec7974d1e51753776208238cadb450'/>
<id>678b238c85ec7974d1e51753776208238cadb450</id>
<content type='text'>
calling thread's unique integral ID, which is similar to AIX function of
the same name.  Bump __FreeBSD_version to note its introduction.

Reviewed by:	kib
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
calling thread's unique integral ID, which is similar to AIX function of
the same name.  Bump __FreeBSD_version to note its introduction.

Reviewed by:	kib
</pre>
</div>
</content>
</entry>
<entry>
<title>Implement the __pthread_map_stacks_exec() for libthr.</title>
<updated>2011-01-09T12:38:40+00:00</updated>
<author>
<name>Konstantin Belousov</name>
<email>kib@FreeBSD.org</email>
</author>
<published>2011-01-09T12:38:40+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=da2fcff746a151ab3ea26c237953a90236cfc176'/>
<id>da2fcff746a151ab3ea26c237953a90236cfc176</id>
<content type='text'>
Stack creation code is changed to call _rtld_get_stack_prot() to get
the stack protection right. There is a race where thread is created
during dlopen() of dso that requires executable stacks. Then,
_rtld_get_stack_prot() may return PROT_READ | PROT_WRITE, but thread
is still not linked into the thread list. In this case, the callback
misses the thread stack, and rechecks the required protection
afterward.

Reviewed by:	davidxu
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Stack creation code is changed to call _rtld_get_stack_prot() to get
the stack protection right. There is a race where thread is created
during dlopen() of dso that requires executable stacks. Then,
_rtld_get_stack_prot() may return PROT_READ | PROT_WRITE, but thread
is still not linked into the thread list. In this case, the callback
misses the thread stack, and rechecks the required protection
afterward.

Reviewed by:	davidxu
</pre>
</div>
</content>
</entry>
<entry>
<title>Revert revision 214007, I realized that MySQL wants to resolve</title>
<updated>2010-10-20T02:34:02+00:00</updated>
<author>
<name>David Xu</name>
<email>davidxu@FreeBSD.org</email>
</author>
<published>2010-10-20T02:34:02+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=de1e74c6a5c57a5f9d4c8547fd47c18328f0e4c3'/>
<id>de1e74c6a5c57a5f9d4c8547fd47c18328f0e4c3</id>
<content type='text'>
a silly rwlock deadlock problem, the deadlock is caused by writer
waiters, if a thread has already locked a reader lock, and wants to
acquire another reader lock, it will be blocked by writer waiters,
but we had already fixed it years ago.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
a silly rwlock deadlock problem, the deadlock is caused by writer
waiters, if a thread has already locked a reader lock, and wants to
acquire another reader lock, it will be blocked by writer waiters,
but we had already fixed it years ago.
</pre>
</div>
</content>
</entry>
<entry>
<title>sort function name.</title>
<updated>2010-10-18T05:16:44+00:00</updated>
<author>
<name>David Xu</name>
<email>davidxu@FreeBSD.org</email>
</author>
<published>2010-10-18T05:16:44+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=bc15e580584eb84c7cc2d9cefb421b185958a9a6'/>
<id>bc15e580584eb84c7cc2d9cefb421b185958a9a6</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add pthread_rwlockattr_setkind_np and pthread_rwlockattr_getkind_np, the</title>
<updated>2010-10-18T05:09:22+00:00</updated>
<author>
<name>David Xu</name>
<email>davidxu@FreeBSD.org</email>
</author>
<published>2010-10-18T05:09:22+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=a6b9b59e0486667a43fda2ab77a7a053c820c2d9'/>
<id>a6b9b59e0486667a43fda2ab77a7a053c820c2d9</id>
<content type='text'>
functions set or get pthread_rwlock type, current supported types are:
   PTHREAD_RWLOCK_PREFER_READER_NP,
   PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP,
   PTHREAD_RWLOCK_PREFER_WRITER_NP,
default is PTHREAD_RWLOCK_PREFER_WRITER_NONCECURSIVE_NP, this maintains
binary compatible with old code.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
functions set or get pthread_rwlock type, current supported types are:
   PTHREAD_RWLOCK_PREFER_READER_NP,
   PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP,
   PTHREAD_RWLOCK_PREFER_WRITER_NP,
default is PTHREAD_RWLOCK_PREFER_WRITER_NONCECURSIVE_NP, this maintains
binary compatible with old code.
</pre>
</div>
</content>
</entry>
<entry>
<title>To support stack unwinding for cancellation points, add -fexceptions flag</title>
<updated>2010-09-25T01:57:47+00:00</updated>
<author>
<name>David Xu</name>
<email>davidxu@FreeBSD.org</email>
</author>
<published>2010-09-25T01:57:47+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=f4213b9006a6ccb41a3e5463038c6f142c10405f'/>
<id>f4213b9006a6ccb41a3e5463038c6f142c10405f</id>
<content type='text'>
for them, two functions _pthread_cancel_enter and _pthread_cancel_leave
are added to let thread enter and leave a cancellation point, it also
makes it possible that other functions can be cancellation points in
libraries without having to be rewritten in libthr.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
for them, two functions _pthread_cancel_enter and _pthread_cancel_leave
are added to let thread enter and leave a cancellation point, it also
makes it possible that other functions can be cancellation points in
libraries without having to be rewritten in libthr.
</pre>
</div>
</content>
</entry>
<entry>
<title>Update symbol.</title>
<updated>2010-09-13T09:23:38+00:00</updated>
<author>
<name>David Xu</name>
<email>davidxu@FreeBSD.org</email>
</author>
<published>2010-09-13T09:23:38+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=fa1efe5efd9e628141df7f9fbaad9b0e60b961a1'/>
<id>fa1efe5efd9e628141df7f9fbaad9b0e60b961a1</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add wrapper for setcontext() and swapcontext(), the wrappers</title>
<updated>2010-08-24T09:57:06+00:00</updated>
<author>
<name>David Xu</name>
<email>davidxu@FreeBSD.org</email>
</author>
<published>2010-08-24T09:57:06+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=5cf22195352544e71d37658bf716f0f4c8570600'/>
<id>5cf22195352544e71d37658bf716f0f4c8570600</id>
<content type='text'>
unblock SIGCANCEL which is needed by thread cancellation.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
unblock SIGCANCEL which is needed by thread cancellation.
</pre>
</div>
</content>
</entry>
<entry>
<title>On shared object unload, in __cxa_finalize, call and clear all installed</title>
<updated>2010-08-23T15:38:02+00:00</updated>
<author>
<name>Konstantin Belousov</name>
<email>kib@FreeBSD.org</email>
</author>
<published>2010-08-23T15:38:02+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=ea246b6369b9c4311cbaeaf69610cee4c434a295'/>
<id>ea246b6369b9c4311cbaeaf69610cee4c434a295</id>
<content type='text'>
atexit and __cxa_atexit handlers that are either installed by unloaded
dso, or points to the functions provided by the dso.

Use _rtld_addr_phdr to locate segment information from the address of
private variable belonging to the dso, supplied by crtstuff.c. Provide
utility function __elf_phdr_match_addr to do the match of address against
dso executable segment.

Call back into libthr from __cxa_finalize using weak
__pthread_cxa_finalize symbol to remove any atfork handler which
function points into unloaded object.

The rtld needs private __pthread_cxa_finalize symbol to not require
resolution of the weak undefined symbol at initialization time. This
cannot work, since rtld is relocated before sym_zero is set up.

Idea by:	kan
Reviewed by:	kan (previous version)
MFC after:	3 weeks
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
atexit and __cxa_atexit handlers that are either installed by unloaded
dso, or points to the functions provided by the dso.

Use _rtld_addr_phdr to locate segment information from the address of
private variable belonging to the dso, supplied by crtstuff.c. Provide
utility function __elf_phdr_match_addr to do the match of address against
dso executable segment.

Call back into libthr from __cxa_finalize using weak
__pthread_cxa_finalize symbol to remove any atfork handler which
function points into unloaded object.

The rtld needs private __pthread_cxa_finalize symbol to not require
resolution of the weak undefined symbol at initialization time. This
cannot work, since rtld is relocated before sym_zero is set up.

Idea by:	kan
Reviewed by:	kan (previous version)
MFC after:	3 weeks
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove extra new semaphore stubs, because libc already has them, and</title>
<updated>2010-01-05T06:21:29+00:00</updated>
<author>
<name>David Xu</name>
<email>davidxu@FreeBSD.org</email>
</author>
<published>2010-01-05T06:21:29+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=791f7a99e2707c1f771abff3587271324b24d198'/>
<id>791f7a99e2707c1f771abff3587271324b24d198</id>
<content type='text'>
ld can find the newest version which is default.

Poked by: kan@
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
ld can find the newest version which is default.

Poked by: kan@
</pre>
</div>
</content>
</entry>
</feed>
