From 3b9ae3e047e5a2ea3e204cf3b1803e8202e4167f Mon Sep 17 00:00:00 2001 From: Philippe Waroquiers Date: Thu, 28 Aug 2014 20:19:41 +0000 Subject: [PATCH] Check that vgdb ptrace actions do not cause a EINTR or whatever to go out of the select syscall git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14378 --- gdbserver_tests/sleepers.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/gdbserver_tests/sleepers.c b/gdbserver_tests/sleepers.c index b74d3cabb4..e06e0cd744 100644 --- a/gdbserver_tests/sleepers.c +++ b/gdbserver_tests/sleepers.c @@ -71,7 +71,7 @@ static void *sleeper_or_burner(void *v) { int i = 0; struct spec* s = (struct spec*)v; - + int ret; fprintf(stderr, "%s ready to sleep and/or burn\n", s->name); fflush (stderr); signal_ready(); @@ -81,7 +81,10 @@ static void *sleeper_or_burner(void *v) if (sleepms > 0 && s->sleep) { t[s->t].tv_sec = sleepms / 1000; t[s->t].tv_usec = (sleepms % 1000) * 1000; - select (0, NULL, NULL, NULL, &t[s->t]); + ret = select (0, NULL, NULL, NULL, &t[s->t]); + /* We only expect a timeout result from the above. */ + if (ret != 0) + perror("unexpected result from select"); } if (burn > 0 && s->burn) do_burn(); -- 2.47.2