From Peter Schauer <Peter.Schauer@Regent.E-Technik.TU-Muenchen.DE>

* procfs.c (wait_fd):  Handle EINTR error return from poll
        by restarting the poll.
	* defs.h (PIDGET): Define a default version that just
	returns its argument unchanged.
	* inflow.c (terminal_init_inferior): Eliminate #ifdef
	of PIDGET and fold both alternatives into common code.
	(pass_signal): Use PIDGET for pid passed to kill().
This commit is contained in:
Fred Fish 1996-11-16 06:58:43 +00:00
parent 2583a05ba2
commit e172af811a
2 changed files with 21 additions and 7 deletions

View File

@ -1,3 +1,14 @@
Fri Nov 15 15:34:18 1996 Fred Fish <fnf@cygnus.com>
From Peter Schauer <Peter.Schauer@Regent.E-Technik.TU-Muenchen.DE>
* procfs.c (wait_fd): Handle EINTR error return from poll
by restarting the poll.
* defs.h (PIDGET): Define a default version that just
returns its argument unchanged.
* inflow.c (terminal_init_inferior): Eliminate #ifdef
of PIDGET and fold both alternatives into common code.
(pass_signal): Use PIDGET for pid passed to kill().
Thu Nov 14 15:54:20 1996 Michael Meissner <meissner@tiktok.cygnus.com>
* utils.c (paddr,preg): Use a static variable initialized to 32

View File

@ -639,7 +639,16 @@ wait_fd ()
set_sigio_trap ();
#ifndef LOSING_POLL
num_fds = poll (poll_list, num_poll_list, -1);
while (1)
{
num_fds = poll (poll_list, num_poll_list, -1);
if (num_fds > 0)
break;
if (num_fds < 0 && errno == EINTR)
continue;
print_sys_errmsg ("poll failed", errno);
error ("Poll failed, returned %d", num_fds);
}
#else
pi = current_procinfo;
@ -665,12 +674,6 @@ wait_fd ()
#ifndef LOSING_POLL
if (num_fds <= 0)
{
print_sys_errmsg ("poll failed\n", errno);
error ("Poll failed, returned %d", num_fds);
}
for (i = 0; i < num_poll_list && num_fds > 0; i++)
{
if ((poll_list[i].revents & (POLLPRI|POLLERR|POLLHUP|POLLNVAL)) == 0)