diff options
Diffstat (limited to 'debian/patches/io_select_timeout')
-rw-r--r-- | debian/patches/io_select_timeout | 104 |
1 files changed, 104 insertions, 0 deletions
diff --git a/debian/patches/io_select_timeout b/debian/patches/io_select_timeout new file mode 100644 index 00000000..6ff81e68 --- /dev/null +++ b/debian/patches/io_select_timeout @@ -0,0 +1,104 @@ +commit cc36b5a5e2e8df6e633bb767df84ac1e61c56bc3 +Author: Richard Braun <rbraun@sceen.net> +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. + +diff --git a/hurd/hurd_types.defs b/hurd/hurd_types.defs +index 5ad5e93..4b32504 100644 +--- a/hurd/hurd_types.defs ++++ b/hurd/hurd_types.defs +@@ -230,6 +230,8 @@ type rusage_t = struct[18] of int; /* XXX */ + + type flock_t = struct[5] of int; + ++type timespec_t = struct[2] of int; ++ + #define _SYS_UTSNAME_H /* Inhibit warning from <bits/utsname.h>. */ + #include <bits/utsname.h> + type utsname_t = struct[5 * _UTSNAME_LENGTH] of char; +diff --git a/hurd/hurd_types.h b/hurd/hurd_types.h +index e1a644f..7d1bb73 100644 +--- a/hurd/hurd_types.h ++++ b/hurd/hurd_types.h +@@ -20,6 +20,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ + #ifndef _HURD_TYPES_H + #define _HURD_TYPES_H + ++#include <time.h> /* For struct timespec. */ + #include <mach/std_types.h> /* For mach_port_t et al. */ + #include <mach/message.h> /* For mach_msg_id_t et al. */ + #include <sys/types.h> /* For pid_t and uid_t. */ +@@ -69,6 +70,7 @@ typedef struct statfs fsys_statfsbuf_t; + typedef struct stat64 io_statbuf_t; + typedef struct statfs64 fsys_statfsbuf_t; + #endif ++typedef struct timespec timespec_t; + + + /* Parameters and flags in RPC calls */ + + +commit 8cd75c4d6b229bb4e3de9264466731e3a32e0133 +Author: Richard Braun <rbraun@sceen.net> +Date: Tue Feb 26 22:24:47 2013 +0100 + + Add io_select_timeout to the io interface + + * 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. + +diff --git a/hurd/io.defs b/hurd/io.defs +index 9119b05..ba0b807 100644 +--- a/hurd/io.defs ++++ b/hurd/io.defs +@@ -320,3 +320,14 @@ routine io_identity ( + on the specified object. */ + routine io_revoke ( + io_object: io_t RPTLAST); ++ ++/* INTR */ ++routine io_select_timeout ( ++ io_object: io_t; ++#if defined (REPLY_PORTS) || defined (IO_SELECT_REPLY_PORT) ++ replyport reply: sreply_port_t; ++#else ++ ureplyport reply: mach_port_make_send_t; ++#endif ++ timeout: timespec_t; ++ inout select_type: int); +diff --git a/hurd/io_reply.defs b/hurd/io_reply.defs +index ffc4e75..eee6824 100644 +--- a/hurd/io_reply.defs ++++ b/hurd/io_reply.defs +@@ -175,3 +175,8 @@ simpleroutine io_identity_reply ( + simpleroutine io_revoke_reply ( + reply: reply_port_t; + RETURN_CODE_ARG); ++ ++simpleroutine io_select_timeout_reply ( ++ reply: reply_port_t; ++ RETURN_CODE_ARG; ++ select_result: int); +diff --git a/hurd/io_request.defs b/hurd/io_request.defs +index a3e775a..0d5e36d 100644 +--- a/hurd/io_request.defs ++++ b/hurd/io_request.defs +@@ -172,3 +172,9 @@ simpleroutine io_identity_request ( + simpleroutine io_revoke_request ( + io_object: io_t; + reply: reply_port_t); ++ ++simpleroutine io_select_timeout_request ( ++ io_object: io_t; ++ ureplyport reply: mach_port_make_send_t; ++ timeout: timespec_t; ++ select_type: int); |