<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src-test2/lib/libpthread/thread/thr_select.c, branch release/5.3.0</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src-test2/atom?h=release%2F5.3.0</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src-test2/atom?h=release%2F5.3.0'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/'/>
<updated>2003-12-09T02:20:56Z</updated>
<entry>
<title>Rename _thr_enter_cancellation_point to _thr_cancel_enter, rename</title>
<updated>2003-12-09T02:20:56Z</updated>
<author>
<name>David Xu</name>
<email>davidxu@FreeBSD.org</email>
</author>
<published>2003-12-09T02:20:56Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=71679e629d6933bda40564da2a54894aed1358f3'/>
<id>urn:sha1: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>
</entry>
<entry>
<title>If select() is only used for sleep, convert it to nanosleep,</title>
<updated>2003-07-03T13:36:29Z</updated>
<author>
<name>David Xu</name>
<email>davidxu@FreeBSD.org</email>
</author>
<published>2003-07-03T13:36:29Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=f399623004bc8a19b8f076167c9858cb12bcf7a3'/>
<id>urn:sha1:f399623004bc8a19b8f076167c9858cb12bcf7a3</id>
<content type='text'>
it only need purely wait in user space.
</content>
</entry>
<entry>
<title>Revamp libpthread so that it has a chance of working in an SMP</title>
<updated>2003-04-18T05:04:16Z</updated>
<author>
<name>Daniel Eischen</name>
<email>deischen@FreeBSD.org</email>
</author>
<published>2003-04-18T05:04:16Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=a0240e2cb0b1ef8e5b61930ac2b850c884daaba8'/>
<id>urn:sha1:a0240e2cb0b1ef8e5b61930ac2b850c884daaba8</id>
<content type='text'>
environment.  This includes support for multiple KSEs and KSEGs.

The ability to create more than 1 KSE via pthread_setconcurrency()
is in the works as well as support for PTHREAD_SCOPE_SYSTEM threads.
Those should come shortly.

There are still some known issues which davidxu and I are working
on, but it'll make it easier for us by committing what we have.

This library now passes all of the ACE tests that libc_r passes
with the exception of one.  It also seems to work OK with KDE
including konqueror, kwrite, etc.  I haven't been able to get
mozilla to run due to lack of java plugin, so I'd be interested
to see how it works with that.

Reviewed by:	davidxu
</content>
</entry>
<entry>
<title>Make libpthread KSE aware.</title>
<updated>2002-09-16T19:52:52Z</updated>
<author>
<name>Jonathan Mini</name>
<email>mini@FreeBSD.org</email>
</author>
<published>2002-09-16T19:52:52Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=255ab70cdf6eb0005e7494657f35d318f666de50'/>
<id>urn:sha1:255ab70cdf6eb0005e7494657f35d318f666de50</id>
<content type='text'>
Reviewed by:	deischen, julian
Approved by:	-arch
</content>
</entry>
<entry>
<title>Make the changes needed for libpthread to compile in its new home.</title>
<updated>2002-09-16T08:45:36Z</updated>
<author>
<name>Jonathan Mini</name>
<email>mini@FreeBSD.org</email>
</author>
<published>2002-09-16T08:45:36Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=cc118d869b950c0c5b934133ed4184e83d88553b'/>
<id>urn:sha1:cc118d869b950c0c5b934133ed4184e83d88553b</id>
<content type='text'>
The new libpthread will provide POSIX threading support using KSE.
These files were previously repo-copied from src/lib/libc_r.

Reviewed by:	deischen
Approved by:	-arch
</content>
</entry>
<entry>
<title>Make the libc_r version of select() set the readable or writable</title>
<updated>2002-08-29T21:39:19Z</updated>
<author>
<name>Archie Cobbs</name>
<email>archie@FreeBSD.org</email>
</author>
<published>2002-08-29T21:39:19Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=afa46253071aa490469e908405b71887c252f9c4'/>
<id>urn:sha1:afa46253071aa490469e908405b71887c252f9c4</id>
<content type='text'>
file descriptor bit if poll() returns POLLERR, POLLHUP, or POLLNVAL.
Othewise, it's possible for select() to return successfully but
with no bits set.

Reviewed by:	deischen
MFC after:	3 days
PR:		bin/42175
</content>
</entry>
<entry>
<title>Make these functions cancellation points like they should be:</title>
<updated>2002-05-02T19:58:43Z</updated>
<author>
<name>Archie Cobbs</name>
<email>archie@FreeBSD.org</email>
</author>
<published>2002-05-02T19:58:43Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=663fc9cc7c50eee029c4ffb65589e7ae787917e3'/>
<id>urn:sha1:663fc9cc7c50eee029c4ffb65589e7ae787917e3</id>
<content type='text'>
poll(2), readv(2), select(2), wait4(2), writev(2).

PR:		bin/37658
Reviewed by:	deischen
MFC after:	1 week
</content>
</entry>
<entry>
<title>Return correct number of total bits set in all fd_set's.</title>
<updated>2002-04-09T05:41:00Z</updated>
<author>
<name>Jeroen Ruigrok van der Werven</name>
<email>asmodai@FreeBSD.org</email>
</author>
<published>2002-04-09T05:41:00Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=92d2baa6a2afbfd8bac146c46d5fcfeb0eadda4d'/>
<id>urn:sha1:92d2baa6a2afbfd8bac146c46d5fcfeb0eadda4d</id>
<content type='text'>
Change case of POLLNVAL as an error.
Remove POLLHUP and POLLERR from one case, their place is most likely
amongst read events.

PR:		33723
Submitted by:	Alexander Litvin &lt;archer@whichever.org&gt;
Reviewed by:	deischen [Provided a small change to the PR patch as well]
MFC after:	4 weeks
</content>
</entry>
<entry>
<title>To be consistent, use the __weak_reference macro from &lt;sys/cdefs.h&gt;</title>
<updated>2001-04-10T04:19:21Z</updated>
<author>
<name>Daniel Eischen</name>
<email>deischen@FreeBSD.org</email>
</author>
<published>2001-04-10T04:19:21Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=437df4859af22264a2c620a3720c776bf0c4a58d'/>
<id>urn:sha1:437df4859af22264a2c620a3720c776bf0c4a58d</id>
<content type='text'>
instead of #pragma weak to create weak definitions.

Suggested by:	bde
</content>
</entry>
<entry>
<title>Add weak definitions for wrapped system calls.  In general:</title>
<updated>2001-01-24T13:03:38Z</updated>
<author>
<name>Daniel Eischen</name>
<email>deischen@FreeBSD.org</email>
</author>
<published>2001-01-24T13:03:38Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=e5106342c6de9cbe26c4827e4e29bae309cd8cfb'/>
<id>urn:sha1:e5106342c6de9cbe26c4827e4e29bae309cd8cfb</id>
<content type='text'>
	_foo - wrapped system call
	foo - weak definition to _foo

and for cancellation points:

	_foo - wrapped system call
	__foo - enter cancellation point, call _foo(), leave
	        cancellation point
	foo - weak definition to __foo

Change use of global _thread_run to call a function to get the
currently running thread.

Make all pthread_foo functions weak definitions to _pthread_foo,
where _pthread_foo is the implementation.  This allows an application
to provide its own pthread functions.

Provide slightly different versions of pthread_mutex_lock and
pthread_mutex_init so that we can tell the difference between
a libc mutex and an application mutex.  Threads holding mutexes
internal to libc should never be allowed to exit, call signal
handlers, or cancel.

Approved by:	-arch
</content>
</entry>
</feed>
