diff options
-rw-r--r-- | mysql-test/suite/binlog/t/binlog_killed.test | 2 | ||||
-rw-r--r-- | mysys/my_write.c | 4 |
2 files changed, 5 insertions, 1 deletions
diff --git a/mysql-test/suite/binlog/t/binlog_killed.test b/mysql-test/suite/binlog/t/binlog_killed.test index 6c0b4b46a4e..0b3c64eb5d8 100644 --- a/mysql-test/suite/binlog/t/binlog_killed.test +++ b/mysql-test/suite/binlog/t/binlog_killed.test @@ -242,7 +242,7 @@ drop function bug27563; drop function bug27565; } -system rm $MYSQLTEST_VARDIR/tmp/kill_query_calling_sp.binlog ; +remove_file $MYSQLTEST_VARDIR/tmp/kill_query_calling_sp.binlog ; drop table t1,t2,t3; diff --git a/mysys/my_write.c b/mysys/my_write.c index 056a84f1794..1dd4ff5e405 100644 --- a/mysys/my_write.c +++ b/mysys/my_write.c @@ -29,6 +29,10 @@ size_t my_write(int Filedes, const uchar *Buffer, size_t Count, myf MyFlags) Filedes, (long) Buffer, (ulong) Count, MyFlags)); errors=0; written=0; + /* The behavior of write(fd, buf, 0) is not portable */ + if (unlikely(!Count)) + return 0; + for (;;) { if ((writenbytes= write(Filedes, Buffer, Count)) == Count) |