]> git.sur5r.net Git - openldap/commitdiff
ITS#8192 fix reference to EINTR on WIN32 from ITS#8106
authorHoward Chu <hyc@openldap.org>
Wed, 29 Jul 2015 19:01:34 +0000 (20:01 +0100)
committerHoward Chu <hyc@openldap.org>
Wed, 29 Jul 2015 23:51:04 +0000 (00:51 +0100)
libraries/liblmdb/mdb.c

index adc20f893b9136c3e5d05bfcb162a05fda2e9b4a..b5d59bcdb18f9d67e622a1e2278a84e6df575780 100644 (file)
@@ -3648,7 +3648,6 @@ mdb_env_write_meta(MDB_txn *txn)
        /* Write to the SYNC fd */
        mfd = env->me_flags & (MDB_NOSYNC|MDB_NOMETASYNC) ?
                env->me_fd : env->me_mfd;
-retry_write:
 #ifdef _WIN32
        {
                memset(&ov, 0, sizeof(ov));
@@ -3657,12 +3656,15 @@ retry_write:
                        rc = -1;
        }
 #else
+retry_write:
        rc = pwrite(mfd, ptr, len, off);
 #endif
        if (rc != len) {
                rc = rc < 0 ? ErrCode() : EIO;
+#ifndef _WIN32
                if (rc == EINTR)
                        goto retry_write;
+#endif
                DPUTS("write failed, disk error?");
                /* On a failure, the pagecache still contains the new data.
                 * Write some old data back, to prevent it from being used.