This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: RFA: EINTR in procfs_wait


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.

OK, I've looked at the old procfs module, and it did indeed have a similar
test in a similar (though not identical) context.  The change makes sense
to me.  Fernando, do you want to do the honors?


> 
> Thanks in advance.
> 
> Fernando
> 
> 2001-04-05  Adam Mirowski  <Adam.Mirowski@Sun.COM>
> 
>         Fixed Insight on Solaris. It was not possible to debug a process
>         because of EINTR "errors".
>         * procfs.c: (procfs_wait): if proc_wait_for_stop() fails
>         with EINTR, retry the call.
> 
> Index: gdb/procfs.c
> ------- procfs.c -------
> *** /tmp/dMKayx_        Tue Apr 10 16:20:54 2001
> --- procfs.c    Thu Apr  5 22:21:40 2001
> ***************
> *** 3518,3531 ****
> --- 3518,3533 ----
> 
>               if (retval != PIDGET (inferior_pid))      /* wrong child? */
>                 error ("procfs: couldn't stop process %d: wait returned %d\n",
>                        inferior_pid, retval);
>               /* FIXME: might I not just use waitpid?
>                  Or try find_procinfo to see if I know about this child? */
>             }
> +         else if (errno == EINTR)
> +           goto wait_again;
>           else
>             {
>               /* Unknown error from wait_for_stop. */
>               proc_error (pi, "target_wait (wait_for_stop)", __LINE__);
>             }
>         }
>         else


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]