diff options
-rw-r--r-- | ChangeLog | 13 | ||||
-rw-r--r-- | hurd/hurdmsg.c | 63 | ||||
-rw-r--r-- | hurd/hurdprio.c | 8 | ||||
-rw-r--r-- | hurd/msgstub.c | 26 | ||||
-rw-r--r-- | sysdeps/mach/hurd/bind.c | 2 | ||||
-rw-r--r-- | sysdeps/mach/hurd/connect.c | 4 | ||||
-rw-r--r-- | sysdeps/mach/hurd/getpriority.c | 7 | ||||
-rw-r--r-- | sysdeps/mach/hurd/sendto.c | 4 |
8 files changed, 66 insertions, 61 deletions
@@ -1,3 +1,16 @@ +Fri Nov 3 17:27:49 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> + + * sysdeps/mach/hurd/sendto.c: Don't pass BINDING arg to + socket_create_address. + * sysdeps/mach/hurd/connect.c: Likewise. + * sysdeps/mach/hurd/bind.c: Likewise. + + * hurd/hurdprio.c (_hurd_priority_which_map): Pass threadwaits + args to proc_getprocinfo. + * sysdeps/mach/hurd/getpriority.c: Likewise. + + * hurd/hurdmsg.c (_S_msg_report_wait): New stub function. + Thu Nov 2 19:24:37 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> * sysdeps/unix/sysv/linux/i386/sysdep.S (errno): Define as common. diff --git a/hurd/hurdmsg.c b/hurd/hurdmsg.c index 57b6b8dd67..ba19a4538d 100644 --- a/hurd/hurdmsg.c +++ b/hurd/hurdmsg.c @@ -32,8 +32,8 @@ Cambridge, MA 02139, USA. */ /* Snarfing and frobbing the init ports. */ kern_return_t -_S_msg_get_init_port (mach_port_t msgport, mach_port_t auth, int which, - mach_port_t *result, mach_msg_type_name_t *result_type) + _S_msg_get_init_port (mach_port_t msgport, mach_port_t auth, int which, + mach_port_t *result, mach_msg_type_name_t *result_type) { AUTHCHECK; *result_type = MACH_MSG_TYPE_MOVE_SEND; @@ -44,7 +44,7 @@ _S_msg_get_init_port (mach_port_t msgport, mach_port_t auth, int which, kern_return_t _S_msg_set_init_port (mach_port_t msgport, mach_port_t auth, - int which, mach_port_t port) + int which, mach_port_t port) { error_t err; @@ -59,9 +59,9 @@ _S_msg_set_init_port (mach_port_t msgport, mach_port_t auth, kern_return_t _S_msg_get_init_ports (mach_port_t msgport, mach_port_t auth, - mach_port_t **ports, - mach_msg_type_name_t *ports_type, - mach_msg_type_number_t *nports) + mach_port_t **ports, + mach_msg_type_name_t *ports_type, + mach_msg_type_number_t *nports) { mach_msg_type_number_t i; error_t err; @@ -93,7 +93,7 @@ _S_msg_get_init_ports (mach_port_t msgport, mach_port_t auth, kern_return_t _S_msg_set_init_ports (mach_port_t msgport, mach_port_t auth, - mach_port_t *ports, mach_msg_type_number_t nports) + mach_port_t *ports, mach_msg_type_number_t nports) { mach_msg_type_number_t i; error_t err; @@ -158,7 +158,7 @@ get_int (int which, int *value) kern_return_t _S_msg_get_init_int (mach_port_t msgport, mach_port_t auth, - int which, int *value) + int which, int *value) { AUTHCHECK; @@ -167,7 +167,7 @@ _S_msg_get_init_int (mach_port_t msgport, mach_port_t auth, kern_return_t _S_msg_get_init_ints (mach_port_t msgport, mach_port_t auth, - int **values, mach_msg_type_number_t *nvalues) + int **values, mach_msg_type_number_t *nvalues) { error_t err; mach_msg_type_number_t i; @@ -246,7 +246,7 @@ set_int (int which, int value) kern_return_t _S_msg_set_init_int (mach_port_t msgport, mach_port_t auth, - int which, int value) + int which, int value) { AUTHCHECK; @@ -255,7 +255,7 @@ _S_msg_set_init_int (mach_port_t msgport, mach_port_t auth, kern_return_t _S_msg_set_init_ints (mach_port_t msgport, mach_port_t auth, - int *values, mach_msg_type_number_t nvalues) + int *values, mach_msg_type_number_t nvalues) { error_t err; mach_msg_type_number_t i; @@ -278,8 +278,8 @@ _S_msg_set_init_ints (mach_port_t msgport, mach_port_t auth, kern_return_t -_S_msg_get_fd (mach_port_t msgport, mach_port_t auth, - int which, mach_port_t *result, mach_msg_type_name_t *result_type) +_S_msg_get_fd (mach_port_t msgport, mach_port_t auth, int which, + mach_port_t *result, mach_msg_type_name_t *result_type) { AUTHCHECK; @@ -295,7 +295,7 @@ _S_msg_get_fd (mach_port_t msgport, mach_port_t auth, kern_return_t _S_msg_set_fd (mach_port_t msgport, mach_port_t auth, - int which, mach_port_t port) + int which, mach_port_t port) { AUTHCHECK; @@ -307,8 +307,8 @@ _S_msg_set_fd (mach_port_t msgport, mach_port_t auth, kern_return_t _S_msg_get_env_variable (mach_port_t msgport, - char *variable, - char **data, mach_msg_type_number_t *datalen) + char *variable, + char **data, mach_msg_type_number_t *datalen) { const char *value = getenv (variable); @@ -324,9 +324,9 @@ _S_msg_get_env_variable (mach_port_t msgport, kern_return_t _S_msg_set_env_variable (mach_port_t msgport, mach_port_t auth, - char *variable, - char *value, - int replace) + char *variable, + char *value, + int replace) { AUTHCHECK; @@ -337,7 +337,7 @@ _S_msg_set_env_variable (mach_port_t msgport, mach_port_t auth, kern_return_t _S_msg_get_environment (mach_port_t msgport, - char **data, mach_msg_type_number_t *datalen) + char **data, mach_msg_type_number_t *datalen) { /* Pack the environment into an array with nulls separating elements. */ if (__environ != NULL) @@ -369,7 +369,7 @@ _S_msg_get_environment (mach_port_t msgport, kern_return_t _S_msg_set_environment (mach_port_t msgport, mach_port_t auth, - char *data, mach_msg_type_number_t datalen) + char *data, mach_msg_type_number_t datalen) { int _hurd_split_args (char *, mach_msg_type_number_t, char **); int envc; @@ -433,19 +433,26 @@ _S_msg_clear_some_exec_flags (mach_port_t process, mach_port_t auth, kern_return_t _S_msg_get_dtable (mach_port_t process, - mach_port_t refport, - portarray_t *dtable, - mach_msg_type_name_t *dtablePoly, - mach_msg_type_number_t *dtableCnt) + mach_port_t refport, + portarray_t *dtable, + mach_msg_type_name_t *dtablePoly, + mach_msg_type_number_t *dtableCnt) { return EOPNOTSUPP; } kern_return_t _S_msg_set_dtable (mach_port_t process, - mach_port_t refport, - portarray_t dtable, - mach_msg_type_number_t dtableCnt) + mach_port_t refport, + portarray_t dtable, + mach_msg_type_number_t dtableCnt) { return EOPNOTSUPP; } kern_return_t _S_msg_startup_dosync (mach_port_t process) { return EOPNOTSUPP; } + +kern_return_t +_S_msg_report_wait (mach_port_t process, + mach_port_t thread, + string_t wait_desc, + int *wait_rpc) +{ return EOPNOTSUPP; } diff --git a/hurd/hurdprio.c b/hurd/hurdprio.c index 9360738988..9c9ed2ba7e 100644 --- a/hurd/hurdprio.c +++ b/hurd/hurdprio.c @@ -59,10 +59,16 @@ _hurd_priority_which_map (enum __priority_which which, int who, /* Get procinfo to check the owner. */ int *oldpi = pi; mach_msg_type_number_t oldpisize = pisize; + char *tw = 0; + size_t twsz = 0; if (err = __USEPORT (PROC, __proc_getprocinfo (port, pids[i], pi_flags, - &pi, &pisize))) + &pi, &pisize, + &tw, &twsz))) continue; + if (twsz) + /* Gratuitous. */ + __vm_deallocate (__mach_task_self (), tw, twsz); if (pi != oldpi && oldpi != pibuf) /* Old buffer from last call was not reused; free it. */ __vm_deallocate (__mach_task_self (), diff --git a/hurd/msgstub.c b/hurd/msgstub.c deleted file mode 100644 index d4b59ed635..0000000000 --- a/hurd/msgstub.c +++ /dev/null @@ -1,26 +0,0 @@ -#include <hurd.h> - -/* XXX */ -#define STUB(fn) error_t fn (mach_port_t port) { return EOPNOTSUPP; } - -STUB(_S_get_init_ports) -STUB(_S_set_init_ports) -STUB(_S_get_init_port) -STUB(_S_set_init_port) -STUB(_S_get_init_ints) -STUB(_S_set_init_ints) -STUB(_S_get_init_int) -STUB(_S_set_init_int) -STUB(_S_get_dtable) -STUB(_S_set_dtable) -STUB(_S_get_fd) -STUB(_S_set_fd) -STUB(_S_get_environment) -STUB(_S_set_environment) -STUB(_S_get_env_variable) -STUB(_S_set_env_variable) -STUB(_S_io_select_done) -STUB(_S_startup_dosync) - -STUB(_S_dir_changed) -STUB(_S_file_changed) diff --git a/sysdeps/mach/hurd/bind.c b/sysdeps/mach/hurd/bind.c index 5b041f3558..399c23ed22 100644 --- a/sysdeps/mach/hurd/bind.c +++ b/sysdeps/mach/hurd/bind.c @@ -96,7 +96,7 @@ DEFUN(bind, (fd, addr, len), err = __socket_create_address (port, addr->sa_family, (char *) addr, len, - &aport, 1); + &aport); if (! err) { err = __socket_bind (port, aport); diff --git a/sysdeps/mach/hurd/connect.c b/sysdeps/mach/hurd/connect.c index e015a14c50..019d1ea108 100644 --- a/sysdeps/mach/hurd/connect.c +++ b/sysdeps/mach/hurd/connect.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1992, 1994 Free Software Foundation, Inc. +/* Copyright (C) 1992, 1994, 1995 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -61,7 +61,7 @@ DEFUN(connect, (fd, addr, len), err = __socket_create_address (port, addr->sa_family, (char *) addr, len, - &aport, 0); + &aport); if (! err) { err = __socket_connect (port, aport); diff --git a/sysdeps/mach/hurd/getpriority.c b/sysdeps/mach/hurd/getpriority.c index 933592fe8e..3d7af4d3bb 100644 --- a/sysdeps/mach/hurd/getpriority.c +++ b/sysdeps/mach/hurd/getpriority.c @@ -41,9 +41,14 @@ getpriority (enum __priority_which which, int who) { int *oldpi = pi; unsigned int oldpisize = pisize; + char *tw = 0; + size_t twsz = 0; onerr = __USEPORT (PROC, __proc_getprocinfo (port, pid, PI_FETCH_TASKINFO, - &pi, &pisize)); + &pi, &pisize, + &tw, &twsz)); + if (twsz) + __vm_deallocate (__mach_task_self (), tw, twsz); if (pi != oldpi && oldpi != pibuf) /* Old buffer from last call was not reused; free it. */ __vm_deallocate (__mach_task_self (), diff --git a/sysdeps/mach/hurd/sendto.c b/sysdeps/mach/hurd/sendto.c index 94becae0a4..b468ba7606 100644 --- a/sysdeps/mach/hurd/sendto.c +++ b/sysdeps/mach/hurd/sendto.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1994 Free Software Foundation, Inc. +/* Copyright (C) 1994, 1995 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -63,7 +63,7 @@ DEFUN(sendto, (fd, buf, n, flags, addr, addr_len), addr->sa_family, (char *) addr, addr_len, - &aport, 1); + &aport); if (! err) { /* Send the data. */ |