| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Like autumn leaves on water
don't fear the tedu@
|
|
|
|
|
| |
the issues seen with www/varnish.
With input and help from guenther@ and kurt@. guenther@ ok
|
|
|
|
|
|
|
|
| |
When a fd enters the closing state prevent any threads from
polling the fd and reschedule the thread with the closing_fd
flag set. This fixes a class of deadlocks where a thread is
blocked waiting for data (that may never arrive) and a later
thread calls close() or dup2() on the fd. okay brad@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
File status flags should be shared for dup'ed file descriptors.
However fd_table_entry's should not be shared for dup'ed file
descriptors so they can be independently be closed without
interfering with dup'ed fd's.
- split out file status flags into its own structure
fs_flags to manage sharing of status flags between
dup'ed file descriptors.
- when duplicating a fd, initialize a new fd_table_entry
for the new fd, but share the status flags via status_flags.
- consolidate the code that sets the underlying system fd
to be non-blocking to a new function _thread_fs_flags_init()
- consolidate the code that sets the underlying system
fd back to blocking into a new function _thread_fs_flags_replace()
This change is needed as a prerequisite to the coming race
and deadlock corrections. okay marc@
|
|
|
|
|
|
|
|
|
|
| |
o Implement _get_curthread() and _set_curthread(). Use it where possible.
o Add missing _thread_[enter|leave]_cancellation_point().
o Add a couple of not yet used vars to pthread_private.h.
o Remove return's from void functions.
This is by no means complete, but instead of doing a big commit, i'll
split it in small ones, minimizing diffs.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|