1998-08-06 Mark Kettenis <kettenis@phys.uva.nl>

[submitted 1998-08-06]
	* mach/Machrules: Create target directory and force re-evaluation
	of Makefile to prevent `make' from optimizing away most of the
	implicit rules and `vpath' directives.

	* hurd/intr-msg.c (_hurd_intr_rpc_mach_msg): If _hurd_msgport_thread
	is null, short-circuit to __mach_msg.
This commit is contained in:
Roland McGrath 1998-10-18 23:19:12 +00:00
parent a13d5ca5e4
commit 37eb58de74
3 changed files with 34 additions and 3 deletions

View File

@ -1,5 +1,15 @@
1998-08-06 Mark Kettenis <kettenis@phys.uva.nl>
[submitted 1998-08-06]
* mach/Machrules: Create target directory and force re-evaluation
of Makefile to prevent `make' from optimizing away most of the
implicit rules and `vpath' directives.
1998-10-19 Roland McGrath <roland@baalperazim.frob.com>
* hurd/intr-msg.c (_hurd_intr_rpc_mach_msg): If _hurd_msgport_thread
is null, short-circuit to __mach_msg.
* sysdeps/mach/hurd/i386/init-first.c (posixland_init): New function,
broken out of init1.
(init1) [PIC]: Call it.

View File

@ -1,5 +1,5 @@
/* Replacement for mach_msg used in interruptible Hurd RPCs.
Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
Copyright (C) 95, 96, 97, 98 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
@ -34,11 +34,23 @@ _hurd_intr_rpc_mach_msg (mach_msg_header_t *msg,
mach_msg_timeout_t timeout,
mach_port_t notify)
{
struct hurd_sigstate *ss = _hurd_self_sigstate ();
error_t err;
struct hurd_sigstate *ss;
int user_timeout;
if (_hurd_msgport_thread == MACH_PORT_NULL)
{
/* The signal thread is not set up yet, so we cannot do the
normal signal magic. Do a simple uninterruptible RPC instead. */
return __mach_msg (msg, option, send_size, rcv_size, rcv_name,
timeout, notify);
}
ss = _hurd_self_sigstate ();
/* Notice now if the user requested a timeout. OPTION may have the bit
added by interruption semantics, and we must distinguish. */
int user_timeout = option & MACH_RCV_TIMEOUT;
user_timeout = option & MACH_RCV_TIMEOUT;
/* Tell the signal thread that we are doing an interruptible RPC on
this port. If we get a signal and should return EINTR, the signal

View File

@ -44,6 +44,15 @@ endif
include ../Makeconfig
# This makefile contains a lot of implicit rules that get optimized
# away if the target directory does not exist.
ifndef no_deps
-include $(objpfx)dummy.mk
endif
$(objpfx)dummy.mk:
$(make-target-directory)
echo '# Empty' > $@
MIGFLAGS = -DMACH_IPC_COMPAT=0 -DSTANDALONE -DTypeCheck=0 \
$(+includes) $(migdefines) -subrprefix __