aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorDmitriy Anisimkov <anisimko@adacore.com>2020-09-21 12:00:41 +0600
committerPierre-Marie de Rodat <derodat@adacore.com>2020-10-27 05:19:28 -0400
commit79e61a6361f87a8162fe362e08d3ffeb76803606 (patch)
tree2487bd804177275660682797bb3c6dafcc62dfb5 /gcc
parent0365b9e4af29dc65c4d1634ca3444362d2ad0422 (diff)
downloadgcc-79e61a6361f87a8162fe362e08d3ffeb76803606.zip
gcc-79e61a6361f87a8162fe362e08d3ffeb76803606.tar.gz
gcc-79e61a6361f87a8162fe362e08d3ffeb76803606.tar.bz2
[Ada] Improve EINTR error handling on "poll" system call
gcc/ada/ * libgnat/g-socpol.adb (Wait): Do not exit from loop on EINTR error and timeout is over.
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ada/libgnat/g-socpol.adb3
1 files changed, 1 insertions, 2 deletions
diff --git a/gcc/ada/libgnat/g-socpol.adb b/gcc/ada/libgnat/g-socpol.adb
index ab3286c..cd82bb8 100644
--- a/gcc/ada/libgnat/g-socpol.adb
+++ b/gcc/ada/libgnat/g-socpol.adb
@@ -368,8 +368,7 @@ package body GNAT.Sockets.Poll is
Poll_Timeout := Timeout - (Clock - Stamp);
if Poll_Timeout < 0.0 then
- Count := 0;
- return;
+ Poll_Timeout := 0.0;
elsif Poll_Timeout > Timeout then
-- Clock moved back in time. This should not be happen when