summaryrefslogtreecommitdiff
path: root/lib/libpthread/uthread
AgeCommit message (Collapse)Author
2004-12-12Avoid using void pointers in additive expressionsBrad Smith
From FreeBSD ok marc@
2004-11-30* make sure we leave the thread's cancellation point before we returnPatrick Latifi
* plug a memory leak and FD_UNLOCK properly in writev ok marc
2004-09-18Allow thread in FD{R,W}_WAIT states to be suspended.Marco S Hyman
Patch from Kurt Miller <truk at optonline.net> Commit reminder from millert@. OK brad@
2004-06-07major bump to libc and libpthread to break the dependency of aMarco S Hyman
particular implementation of libpthread for libc. libc no longer needs pthread.h to compile. OK millert@, brad@, tedu@
2004-05-01pthead_supsend_all_np and pthread_resume_all_np from freebsd viaMarco S Hyman
Kurt Miller <truk at optonline.net>. Kurt says: They're needed for the java hotspot compiler in the 1.3+ jdk OK brad@
2004-04-13refresh curthread after a thread switch so it points to the realMarco S Hyman
current thread. ok deraadt@
2004-04-10ansiBrad Smith
2004-04-10styleBrad Smith
2004-04-09When poll(2)'ing for readability or writability of a file descriptorBrad Smith
on behalf of a thread, we should check the POLLERR, POLLHUP, and POLLNVAL flags as well to wake up the thread in these cases. From: FreeBSD's libc_r ok marc@
2004-04-06Apply patch from guenther at mho.com (pr3730) that fixes a doubleMarco S Hyman
free in the threads library
2004-02-22add pthread_attr_[get|set]stackBrad Smith
From: FreeBSD's libc_r ok marc@
2004-02-16fixes function parameters to match the man page as wellBrad Smith
as adding a more aggressive arguement check. From: FreeBSD's libc_r. ok marc@
2004-02-16Add missing const for function parameters to match POSIX.Brad Smith
From: FreeBSD's libc_r ok marc@
2004-02-01Add a simple work-around for deadlocking on recursiveBrad Smith
readlocks on a rwlock while there are writers waiting. From: FreeBSD's libc_r ok marc@
2004-01-26Change read_stackseg_np to work with any thread, not just the currentMarco S Hyman
thread. Requested by truk at optonline dot net and OK-ed by tedu @.
2004-01-19Fix -Wsign-compare warnings pointed out by kevlo@, ok marc@Todd C. Miller
2004-01-16Include correct includes to unbreak compilation on macppc. ok miod@Otto Moerbeek
2004-01-15threaded version of closefromMarco S Hyman
pthread_stackseg_np added. Minor bump for these changes occurred a day or so ago and will not be bumped again
2004-01-03Fixes from FreeBSD's libc_rBrad Smith
rev 1.21 Make the libc_r version of select() set the readable or writable file descriptor bit if poll() returns POLLERR, POLLHUP, or POLLNVAL. Othewise, it's possible for select() to return successfully but with no bits set. rev 1.19 Return correct number of total bits set in all fd_set's. Change case of POLLNVAL as an error. Remove POLLHUP and POLLERR from one case, their place is most likely amongst read events. ok marc@
2004-01-01more cancellation points.Brad Smith
ok marc@
2003-12-31there is no pause() wrapper (thread_sys_pause) so remove the prototypeBrad Smith
2003-12-31undefer sigs in all paths through the join code.Marco S Hyman
Based upon patch/report from Marc Olzheim <marcolz at stack.nl>
2003-12-23Add stub implementations of pthread_[gs]etconcurrencyBrad Smith
From: FreeBSD' libc_r ok marc@
2003-12-23change the variable name used for status checking,Brad Smith
LIBC_R_DEBUG -> LIBPTHREAD_DEBUG ok marc@
2003-12-23Based upon a freebsd change:Marco S Hyman
If an application closes one of its stdio descriptors (0..2), an excessive close() on one of these descriptors would cause a memory for this descriptor to be allocated in the internal descriptor table. When this descriptor gets used again, e.g. through the call to open() or socket(), the descriptor would be erroneously left in the blocking mode, and the whole application would get stuck on a blocking operation, e.g., in accept(2). but changed to not eat fds when a file that the thread kernel doesn't know about is closed.
2003-12-23Make accept(), connect(), recvfrom(), recvmsg(), sendmsg(),Brad Smith
and sendto() cancellation points, as required by POSIX.1-2001. From: FreeBSD' libc_r ok marc@
2003-12-22Fix from FreeBSD' libc_rBrad Smith
rev 1.21 Fix bogus return values from libc_r's writev() routine in situations where a partial-write is followed by an error. ok marc@
2003-12-22Fixes from FreeBSD' libc_rBrad Smith
rev 1.21 Fix bogus return values from libc_r's write() routine in situations where partial-write is followed by an error. rev 1.22 If __sys_write() returns 0, allow that to exit the loop in libc_r's wrapped version of write(). rev 1.23 Return to the caller if write() returns 0. ok marc@
2003-12-10Add an nfds_t type as per POSIX and also add pollfd_t like Solaris has.Todd C. Miller
2003-11-10missing proto for kqueue(); marc@ okMichael Shalayeff
2003-11-03replace magic number for min number of poll_data entriesMarco S Hyman
to allocate with a define
2003-10-22Add wrapper for kqueue() to keep track of the allocated fd and allow it toBrad Smith
be closed. This fixes a file descriptor leak when closing a kqueue() fd. from FreeBSD ok marc@
2003-10-22When about to do an execve(), don't bother resetting the O_NONBLOCK flagBrad Smith
on any file descriptors that have the close-on-exec flag set. from FreeBSD ok marc@
2003-10-19Fix optimized select handling buglet. Patch from tholo@Marco S Hyman
2003-10-19sync FreeBSD RCS idBrad Smith
2003-10-16Optimize conversion of fd_set -> pollfd. OK and test by marc@Todd C. Miller
2003-09-22Off-by-ones, from aaron@Miod Vallat
2003-08-06Remove some double semicolons (hmm, do two semis equal a maxi?).Todd C. Miller
I've skipped the GNU stuff for now. From Patrick Latifi.
2003-08-01Go back to using ITIMER_PROF for the non-profiled libpthread and useTodd C. Miller
ITIMER_VIRTUAL for the profiled version. Fixes problems when programs linked with libpthread try to use ITIMER_VIRTUAL (and have no way of knowing that this will cause conflicts with the threads lib). marc@ OK
2003-07-08remove variable never readMarco S Hyman
2003-05-13Add support for blocking thread switches during dlopen and otherMarco S Hyman
non-thread-safe dl functions. Only enabled for ELF architectures at this time as needed dlxxx support has not yet been added to the a.out run time loader. 'doesn't break xmms at least' tedu@. Tested by others with no comment
2003-04-30fix for pr# 3179 and 3238. Patch verified by author of 3179.Marco S Hyman
2003-03-31Remove unused file. OpenBSD uses uthread_info_openbsd.c, instead.Marco S Hyman
This is easier than fixing the strcpy in the file.
2003-03-20sprintf -> snprintf; ok millert@, henning@Marco S Hyman
2003-02-14fix bug that would leave an FD locked if dup'd, then closed.Marco S Hyman
Also, for safety lock the _thread_fd_table when removing entries.
2003-02-14white spaceMarco S Hyman
2003-02-05AARRGGH! 2nd try, handle the case where from_fd == to_fd in ↵Marco S Hyman
_thread_fd_table_dup
2003-02-05handle the case where from_fd == to_fd in _thread_fd_table_dupMarco S Hyman
2003-02-05thread fd handling, part 2. Don't mung file flags until forcedMarco S Hyman
to notice that the file exists. This fixes a problem where an application may think a file was in non-block mode because the threads kernel played with the flags. Also fix a stupid error introduced in the last commit -- the threaded version of dup and dup2 were foobared. Bad marc.
2003-02-04Part 1 of thread fd handling fixes. In the new scheme fd_table_entriesMarco S Hyman
for dup-ed fds are shared to ensure proper flag handling. A refcnt was added to control when entries should be freed. Specific changes: close: don't free entry unless refcnt is zero dup: rewrite to use new function _thread_fd_table_dup dup2: rewrite to use new function _thread_fd_table_dup fcntl: use _thread_fd_table_dup uthread_fd: initialize thread fd table, searching for dup-ed fds. Add function to share _thread_fd_table entries when an fd is dup-ed. uthread_init: make it readable. Call fd init functions. All current regression tests plus the mysql torture test pass. The new stdfiles regression test fails (I/O redirection problem). Part 2 is intended to fix that problem