Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Andrew Cagney <ac131313@cygnus.com>
To: Fernando Nasser <fnasser@redhat.com>
Cc: gdb-patches@sources.redhat.com
Subject: Re: RFA: EINTR in procfs_wait
Date: Wed, 11 Apr 2001 11:13:00 -0000	[thread overview]
Message-ID: <3AD49EB7.60ECBB56@cygnus.com> (raw)
In-Reply-To: <3AD32106.12A0443E@redhat.com>

Fernando Nasser wrote:
> 
> Folks,
> 
> I got this patch and it seems that we did forget to test for EINTR in
> procfs_wait(). It looks like an "obvious fix" but I would like someone
> else to double check it.

Anything involving a goto is not an obvious fix :-)

> +           goto wait_again;

In theory, procfs_wait() should be able to return (target.h):

    /* This is used for target async and extended-async
       only. Remote_async_wait() returns this when there is an event
       on the inferior, but the rest of the world is not interested in
       it. The inferior has not stopped, but has just sent some output
       to the console, for instance. In this case, we want to go back
       to the event loop and wait there for another event from the
       inferior, rather than being stuck in the remote_async_wait()
       function. This way the event loop is responsive to other events,
       like for instance the user typing.  */
    TARGET_WAITKIND_IGNORE

and let the event-loop force the reentry.  Looking at the code
(infrun.c:handle_inferior_event()):

        /* We had an event in the inferior, but we are not interested
           in handling it at this level. The lower layers have already
           done what needs to be done, if anything. This case can
           occur only when the target is async or extended-async. One
           of the circumstamces for this to happen is when the
           inferior produces output for the console. The inferior has
           not stopped, and we are ignoring the event. */
      case TARGET_WAITKIND_IGNORE:
        ecs->wait_some_more = 1;
        return;

I think the restriction that that KIND only apples to
async/extended-async is incorrect.

	Andrew


  parent reply	other threads:[~2001-04-11 11:13 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-04-10  8:08 Fernando Nasser
2001-04-10 14:57 ` Kevin Buettner
2001-04-10 17:41   ` Fernando Nasser
2001-04-11 16:43   ` Michael Snyder
2001-04-11 11:13 ` Andrew Cagney [this message]
2001-04-11 16:45 ` Michael Snyder
2001-04-13  6:53   ` Fernando Nasser

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=3AD49EB7.60ECBB56@cygnus.com \
    --to=ac131313@cygnus.com \
    --cc=fnasser@redhat.com \
    --cc=gdb-patches@sources.redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox