diff options
Diffstat (limited to 'mysys/my_read.c')
-rw-r--r-- | mysys/my_read.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/mysys/my_read.c b/mysys/my_read.c index b7621ac99eb..b59ada20977 100644 --- a/mysys/my_read.c +++ b/mysys/my_read.c @@ -51,8 +51,12 @@ uint my_read(File Filedes, byte *Buffer, uint Count, myf MyFlags) DBUG_PRINT("warning",("Read only %ld bytes off %ld from %d, errno: %d", readbytes,Count,Filedes,my_errno)); #ifdef THREAD - if (readbytes == 0 && errno == EINTR) - continue; /* Interrupted */ + if ((readbytes == 0 || (int) readbytes == -1) && errno == EINTR) + { + DBUG_PRINT("debug", ("my_read() was interrupted and returned %d", + (int) readbytes)); + continue; /* Interrupted */ + } #endif if (MyFlags & (MY_WME | MY_FAE | MY_FNABP)) { |