[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[SCM] Hurd branch, master, updated. hurd-release-0-2-3495-g757b6bf
From: |
Samuel Thibault |
Subject: |
[SCM] Hurd branch, master, updated. hurd-release-0-2-3495-g757b6bf |
Date: |
Thu, 28 Feb 2013 17:23:51 +0000 |
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Hurd".
The branch, master has been updated
via 757b6bf6feb3f1aba3d882f5dbe3b8b850f05294 (commit)
via 8cd75c4d6b229bb4e3de9264466731e3a32e0133 (commit)
via cc36b5a5e2e8df6e633bb767df84ac1e61c56bc3 (commit)
from 18b7cc99f467d541c8cbf9abb3ee85a41ef8f472 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 757b6bf6feb3f1aba3d882f5dbe3b8b850f05294
Merge: 8cd75c4 18b7cc9
Author: Samuel Thibault <address@hidden>
Date: Thu Feb 28 18:23:45 2013 +0100
Merge branch 'master' of git.savannah.gnu.org:/srv/git/hurd/hurd
commit 8cd75c4d6b229bb4e3de9264466731e3a32e0133
Author: Richard Braun <address@hidden>
Date: Tue Feb 26 22:24:47 2013 +0100
Add io_select_timeout to the io interface
This change fixes a problem that can occur with non-blocking (and also
blocking for very short times) select/poll calls. The problem occurs because
the timeout is implemented at the client side. For a non-blocking call, this
means that (depending on the code path taken in the C library) the client
could get a timeout without a full RPC round-trip to the server. Moving the
implementation of the timeout to the servers guarantees a full round-trip,
and correct results for non-blocking calls.
The modifications in this change depend on the availability of the recently
added pthread_hurd_cond_timedwait_np function in libpthread.
* boot/boot.c (io_select_common): New static function.
(S_io_select): Use io_select_common.
(S_io_select_timeout): New function which makes use of io_select_common.
* console-client/kbd-repeat.c (repeater_select): Add a timeout parameter.
* console-client/pc-mouse.c (repeater_select): Likewise.
* console-client/trans.c (io_select_common): New static function.
(netfs_S_io_select): Use io_select_common.
(netfs_S_io_select_timeout): New function which makes use of
io_select_common.
* console-client/trans.h (struct consnode): Add a timeout parameter.
* hurd/io.defs (io_select_timeout): New MIG routine.
* hurd/io_reply.defs (io_select_timeout_reply): New MIG simpleroutine.
* hurd/io_request.defs (io_select_timeout_request): Likewise.
* libdiskfs/io-select.c (diskfs_S_io_select_timeout): New function.
* libnetfs/io-select.c (netfs_S_io_select_timeout): Likewise.
* libpipe/pipe.c (pipe_pair_select): Add a timeout parameter.
* libpipe/pipe.h (pipe_select_readable): Likewise.
(pipe_select_writable): Likewise.
(pipe_pair_select): Likewise.
* libpipe/pq.h: Include <hurd/hurd_types.h>.
* libtrivfs/io-select.c (trivfs_S_io_select_timeout): New function.
* pfinet/glue-include/linux/sched.h: Include <errno.h>.
(interruptible_sleep_on): Function removed, replaced with ...
(interruptible_sleep_on_timeout): New function.
(schedule): Update to use interruptible_sleep_on_timeout.
(schedule_timeout): Likewise.
* pfinet/io-ops.c (io_select_common): New static function.
(S_io_select): Use io_select_common.
(S_io_select_timeout): New function which makes use of io_select_common.
* pfinet/tunnel.c (io_select_common): New static function.
(trivfs_S_io_select): Use io_select_common.
(trivfs_S_io_select_timeout): New function which makes use of
io_select_common.
* pflocal/connq.c (connq_listen): Replace noblock with a timeout parameter.
* pflocal/connq.h: Include <hurd/hurd_types.h>.
(connq_listen): Update declaration to replace noblock with a timeout
parameter.
* pflocal/io.c (io_select_common): New static function.
(S_io_select): Use io_select_common.
(S_io_select_timeout): New function which makes use of io_select_common.
* pflocal/socket.c (S_socket_accept): Update call to connq_listen to match
new
declaration.
* storeio/io.c (trivfs_S_io_select_timeout): New function.
* term/ptyio.c (pty_io_select): Add a timeout parameter.
* term/term.h (pty_io_select): Likewise.
* term/users.c (io_select_common): New static function.
(trivfs_S_io_select): Use io_select_common.
(trivfs_S_io_select_timeout): New function which makes use of
io_select_common.
* trans/fifo.c (io_select_common): New static function.
(trivfs_S_io_select): Use io_select_common.
(trivfs_S_io_select_timeout): New function which makes use of
io_select_common.
* trans/firmlink.c (trivfs_S_io_select_timeout): New function.
* trans/new-fifo.c (io_select_common): New static function.
(trivfs_S_io_select): Use io_select_common.
(trivfs_S_io_select_timeout): New function which makes use of
io_select_common.
* trans/null.c (trivfs_S_io_select_timeout): New function.
* trans/streamio.c (io_select_common): New static function.
(trivfs_S_io_select): Use io_select_common.
(trivfs_S_io_select_timeout): New function which makes use of
io_select_common.
commit cc36b5a5e2e8df6e633bb767df84ac1e61c56bc3
Author: Richard Braun <address@hidden>
Date: Tue Feb 26 22:24:42 2013 +0100
Add the timespec_t Hurd type
This type matches the standard struct timespec, and allows passing time
values with nanosecond precision in RPCs.
* hurd/hurd_types.defs (timespec_t): New MIG type.
* hurd/hurd_types.h: Include <time.h>.
(timespec_t): New C type, aliasing struct timespec.
-----------------------------------------------------------------------
Summary of changes:
boot/boot.c | 41 +++++++++++++++++++++++++++++-----
console-client/kbd-repeat.c | 13 ++++++++--
console-client/pc-mouse.c | 13 ++++++++--
console-client/trans.c | 26 ++++++++++++++++++---
console-client/trans.h | 5 ++-
hurd/hurd_types.defs | 2 +
hurd/hurd_types.h | 2 +
hurd/io.defs | 11 +++++++++
hurd/io_reply.defs | 5 ++++
hurd/io_request.defs | 6 +++++
libdiskfs/io-select.c | 8 ++++++
libnetfs/io-select.c | 10 ++++++++
libpipe/pipe.c | 16 +++++++++----
libpipe/pipe.h | 34 +++++++++++++++++++---------
libtrivfs/io-select.c | 10 ++++++++
pfinet/glue-include/linux/sched.h | 15 +++++++-----
pfinet/io-ops.c | 44 +++++++++++++++++++++++++++++-------
pfinet/tunnel.c | 40 +++++++++++++++++++++++++++------
pflocal/connq.c | 17 +++++++++-----
pflocal/connq.h | 9 +++++--
pflocal/io.c | 39 ++++++++++++++++++++++++++------
pflocal/socket.c | 4 ++-
storeio/io.c | 9 +++++++
term/ptyio.c | 14 ++++++++---
term/term.h | 3 +-
term/users.c | 43 +++++++++++++++++++++++++++++------
trans/fifo.c | 27 ++++++++++++++++++----
trans/firmlink.c | 9 +++++++
trans/new-fifo.c | 27 ++++++++++++++++++----
trans/null.c | 9 +++++++
trans/streamio.c | 36 +++++++++++++++++++++++++-----
31 files changed, 445 insertions(+), 102 deletions(-)
hooks/post-receive
--
Hurd
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [SCM] Hurd branch, master, updated. hurd-release-0-2-3495-g757b6bf,
Samuel Thibault <=