Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Michael Snyder <msnyder@vmware.com>
To: "gdb-patches@sourceware.org" <gdb-patches@sourceware.org>,
	  Doug Evans <dje@google.com>,
	 dan@codesourcery.com
Subject: [RFA] gdbserver, errno handling in my_waitpid
Date: Wed, 10 Mar 2010 21:25:00 -0000	[thread overview]
Message-ID: <4B980E29.5090208@vmware.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 233 bytes --]

This is not really my most familiar bit of the code, so
you gdbserver guys check me, ok?

It seems to me that we need to set errno to zero before calling waitpid,
if we're going to check it right after.  Especially the second time.


[-- Attachment #2: errno.txt --]
[-- Type: text/plain, Size: 825 bytes --]

2010-03-10  Michael Snyder  <msnyder@vmware.com>

	* linux-low.c (my_waitpid): Set errno to 0 before waitpid.

Index: linux-low.c
===================================================================
RCS file: /cvs/src/src/gdb/gdbserver/linux-low.c,v
retrieving revision 1.130
diff -u -p -r1.130 linux-low.c
--- linux-low.c	6 Mar 2010 00:11:42 -0000	1.130
+++ linux-low.c	10 Mar 2010 21:20:14 -0000
@@ -309,6 +309,7 @@ my_waitpid (int pid, int *status, int fl
 	{
 	  /* Since all signals are blocked, there's no need to check
 	     for EINTR here.  */
+	  errno = 0;
 	  ret = waitpid (pid, status, flags);
 	  out_errno = errno;
 
@@ -338,6 +339,7 @@ my_waitpid (int pid, int *status, int fl
     }
   else
     {
+      errno = 0;
       do
 	ret = waitpid (pid, status, flags);
       while (ret == -1 && errno == EINTR);

             reply	other threads:[~2010-03-10 21:25 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-03-10 21:25 Michael Snyder [this message]
2010-03-10 21:30 ` Pedro Alves
2010-03-10 21:48   ` Michael Snyder

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=4B980E29.5090208@vmware.com \
    --to=msnyder@vmware.com \
    --cc=dan@codesourcery.com \
    --cc=dje@google.com \
    --cc=gdb-patches@sourceware.org \
    /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