aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/mach
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>1999-11-13 23:52:38 +0000
committerRoland McGrath <roland@gnu.org>1999-11-13 23:52:38 +0000
commit0bd019279b29e72861ba57e6101afa5e6dafb3a5 (patch)
tree9c89dfd0f45958c30c82d3a5097cf5feaf96bd95 /sysdeps/mach
parent28f08f3fd1c20c4352746839c242d3a7776041a6 (diff)
downloadglibc-0bd019279b29e72861ba57e6101afa5e6dafb3a5.zip
glibc-0bd019279b29e72861ba57e6101afa5e6dafb3a5.tar.gz
glibc-0bd019279b29e72861ba57e6101afa5e6dafb3a5.tar.bz2
* Versions.def (libc): Move GLIBC_2.2 dependency from GLIBC_2.1.1 to
GLIBC_2.1.3. 1999-11-13 Roland McGrath <roland@baalperazim.frob.com>
Diffstat (limited to 'sysdeps/mach')
-rw-r--r--sysdeps/mach/hurd/i386/intr-msg.h32
-rw-r--r--sysdeps/mach/hurd/rename.c6
-rw-r--r--sysdeps/mach/hurd/rmdir.c4
3 files changed, 27 insertions, 15 deletions
diff --git a/sysdeps/mach/hurd/i386/intr-msg.h b/sysdeps/mach/hurd/i386/intr-msg.h
index a12b2f2..d862d58 100644
--- a/sysdeps/mach/hurd/i386/intr-msg.h
+++ b/sysdeps/mach/hurd/i386/intr-msg.h
@@ -83,23 +83,35 @@ struct mach_msg_trap_args
};
-static inline mach_port_t
-MSG_EXAMINE (struct i386_thread_state *state, int *msgid)
+static inline int
+MSG_EXAMINE (struct i386_thread_state *state, int *msgid,
+ mach_port_t *rcv_name, mach_port_t *send_name,
+ mach_msg_option_t *option, mach_msg_timeout_t *timeout)
{
const struct mach_msg_trap_args *args = (const void *) state->uesp;
mach_msg_header_t *msg;
- mach_port_t send_port;
if (_hurdsig_catch_memory_fault (args))
- return MACH_PORT_NULL;
+ return -1;
msg = args->msg;
+ *option = args->option;
+ *timeout = args->timeout;
+ *rcv_name = args->rcv_name;
_hurdsig_end_catch_fault ();
- if (_hurdsig_catch_memory_fault (msg))
- return MACH_PORT_NULL;
- send_port = msg->msgh_remote_port;
- *msgid = msg->msgh_id;
- _hurdsig_end_catch_fault ();
+ if (msg == 0)
+ {
+ *send_name = MACH_PORT_NULL;
+ *msgid = 0;
+ }
+ else
+ {
+ if (_hurdsig_catch_memory_fault (msg))
+ return -1;
+ *send_name = msg->msgh_remote_port;
+ *msgid = msg->msgh_id;
+ _hurdsig_end_catch_fault ();
+ }
- return send_port;
+ return 0;
}
diff --git a/sysdeps/mach/hurd/rename.c b/sysdeps/mach/hurd/rename.c
index f217ded..1923a44 100644
--- a/sysdeps/mach/hurd/rename.c
+++ b/sysdeps/mach/hurd/rename.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 92, 93, 94, 96, 97 Free Software Foundation, Inc.
+/* Copyright (C) 1991,92,93,94,96,97,99 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
@@ -29,10 +29,10 @@ rename (old, new)
file_t olddir, newdir;
const char *oldname, *newname;
- olddir = __file_name_split (old, (char **) &oldname);
+ olddir = __directory_name_split (old, (char **) &oldname);
if (olddir == MACH_PORT_NULL)
return -1;
- newdir = __file_name_split (new, (char **) &newname);
+ newdir = __directory_name_split (new, (char **) &newname);
if (newdir == MACH_PORT_NULL)
{
__mach_port_deallocate (__mach_task_self (), olddir);
diff --git a/sysdeps/mach/hurd/rmdir.c b/sysdeps/mach/hurd/rmdir.c
index 920d698..be9a254 100644
--- a/sysdeps/mach/hurd/rmdir.c
+++ b/sysdeps/mach/hurd/rmdir.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 92, 93, 94, 95, 97 Free Software Foundation, Inc.
+/* Copyright (C) 1991,92,93,94,95,97,99 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
@@ -28,7 +28,7 @@ __rmdir (file_name)
{
error_t err;
const char *name;
- file_t parent = __file_name_split (file_name, (char **) &name);
+ file_t parent = __directory_name_split (file_name, (char **) &name);
if (parent == MACH_PORT_NULL)
return -1;
err = __dir_rmdir (parent, name);