aboutsummaryrefslogtreecommitdiff
path: root/libiohelp/handle_io_get_conch.c
diff options
context:
space:
mode:
authorMichael I. Bushnell <mib@gnu.org>1994-02-11 18:30:02 +0000
committerMichael I. Bushnell <mib@gnu.org>1994-02-11 18:30:02 +0000
commit3dc72e2ee1ec681ab22be681e4e07df1da2a7f38 (patch)
tree39b837bdcc5f6bab09c76f298fcc8583975f4a19 /libiohelp/handle_io_get_conch.c
parent3e73723e057707e6a433d70630319cbf00a988f1 (diff)
downloadhurd-3dc72e2ee1ec681ab22be681e4e07df1da2a7f38.tar.gz
hurd-3dc72e2ee1ec681ab22be681e4e07df1da2a7f38.tar.bz2
hurd-3dc72e2ee1ec681ab22be681e4e07df1da2a7f38.zip
entered into RCS
Diffstat (limited to 'libiohelp/handle_io_get_conch.c')
-rw-r--r--libiohelp/handle_io_get_conch.c30
1 files changed, 11 insertions, 19 deletions
diff --git a/libiohelp/handle_io_get_conch.c b/libiohelp/handle_io_get_conch.c
index 92b145f9..8c3a2948 100644
--- a/libiohelp/handle_io_get_conch.c
+++ b/libiohelp/handle_io_get_conch.c
@@ -21,38 +21,30 @@
/* Called by an I/O server when an io_get_conch message is received.
The user represented by USER and USER_SH wants conch C; give it
to her or return an error. */
-error_t
+void
ioserver_handle_io_get_conch (struct conch *c, void *user,
struct shared_io *user_sh)
{
- error_t error = 0;
if (c->holder == user)
{
if (user_sh->conch_status != USER_HAS_NOT_CONCH)
- error = ioserver_fetch_shared_data (user);
+ ioserver_fetch_shared_data (user);
else
user_sh->accessed = user_sh->written = 0;
- if (!error)
- error = ioserver_put_shared_data (user);
- if (!error)
- user_sh->conch_status = USER_HAS_CONCH;
+ ioserver_put_shared_data (user);
+ user_sh->conch_status = USER_HAS_CONCH;
}
else
{
- error = ioserver_get_conch (c);
+ ioserver_get_conch (c);
- if (!error)
- {
- c->holder = user;
- c->holder_shared_page = user_sh;
- if (user_sh->conch_status == USER_HAS_NOT_CONCH)
- user_sh->accessed = user_sh->written = 0;
- user_sh->conch_status = USER_HAS_CONCH;
- ioserver_put_shared_data (user);
- }
+ c->holder = user;
+ c->holder_shared_page = user_sh;
+ if (user_sh->conch_status == USER_HAS_NOT_CONCH)
+ user_sh->accessed = user_sh->written = 0;
+ user_sh->conch_status = USER_HAS_CONCH;
+ ioserver_put_shared_data (user);
}
-
- return error;
}