diff --git a/src/rrd_update.c b/src/rrd_update.c
index 728db8e163de711f81682ba7c438bfd822568d7b..0f0bf3d5eae3fd0ab982c6289b7404d8a75270b0 100644 (file)
--- a/src/rrd_update.c
+++ b/src/rrd_update.c
#include <sys/mman.h>
#endif
-#ifdef WIN32
+#if defined(WIN32) && !defined(__CYGWIN__) && !defined(__CYGWIN32__)
#include <sys/locking.h>
#include <sys/stat.h>
#include <io.h>
#include "rrd_is_thread_safe.h"
-#ifdef WIN32
+#if defined(WIN32) && !defined(__CYGWIN__) && !defined(__CYGWIN32__)
/*
* WIN32 does not have gettimeofday and struct timeval. This is a quick and dirty
* replacement.
* critical except during the burning cycles. */
if (schedule_smooth)
{
-#ifndef WIN32
- rrd_file = fopen(filename,"r+");
-#else
+#if defined(WIN32) && !defined(__CYGWIN__) && !defined(__CYGWIN32__)
rrd_file = fopen(filename,"rb+");
+#else
+ rrd_file = fopen(filename,"r+");
#endif
rra_start = rra_begin;
for (i = 0; i < rrd.stat_head -> rra_cnt; ++i)
rrd_fd = fileno(rrdfile);
{
-#ifndef WIN32
- struct flock lock;
- lock.l_type = F_WRLCK; /* exclusive write lock */
- lock.l_len = 0; /* whole file */
- lock.l_start = 0; /* start of file */
- lock.l_whence = SEEK_SET; /* end of file */
-
- rcstat = fcntl(rrd_fd, F_SETLK, &lock);
-#else
+#if defined(WIN32) && !defined(__CYGWIN__) && !defined(__CYGWIN32__)
struct _stat st;
if ( _fstat( rrd_fd, &st ) == 0 ) {
} else {
rcstat = -1;
}
+#else
+ struct flock lock;
+ lock.l_type = F_WRLCK; /* exclusive write lock */
+ lock.l_len = 0; /* whole file */
+ lock.l_start = 0; /* start of file */
+ lock.l_whence = SEEK_SET; /* end of file */
+
+ rcstat = fcntl(rrd_fd, F_SETLK, &lock);
#endif
}