summaryrefslogtreecommitdiff
path: root/mysys/my_read.c
diff options
context:
space:
mode:
authorcmiller@zippy.cornsilk.net <>2006-11-02 17:39:52 -0500
committercmiller@zippy.cornsilk.net <>2006-11-02 17:39:52 -0500
commitaf5acac047d77e961da64e93a4a1d1d3225886da (patch)
treefdb1676e1a24d430127643e773c8999bef7bed8c /mysys/my_read.c
parent5196eadc060843665eb007498fa174ba43b4b989 (diff)
parent2704ba36755401f947600b6b3fd7f3ef3423c5bc (diff)
downloadmariadb-git-af5acac047d77e961da64e93a4a1d1d3225886da.tar.gz
Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.0-maint
Diffstat (limited to 'mysys/my_read.c')
-rw-r--r--mysys/my_read.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/mysys/my_read.c b/mysys/my_read.c
index 2e23f2175f8..8b88e483fef 100644
--- a/mysys/my_read.c
+++ b/mysys/my_read.c
@@ -51,10 +51,11 @@ 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 ((int) readbytes <= 0 && errno == EINTR)
- {
- DBUG_PRINT("debug", ("my_read() was interrupted and returned %d", (int) readbytes));
- 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))