X-Git-Url: https://git.octo.it/?p=rrdtool.git;a=blobdiff_plain;f=src%2Frrd_update.c;h=0f0bf3d5eae3fd0ab982c6289b7404d8a75270b0;hp=2c5cd37aa989d1beb03813045bfe00c9ac030ce5;hb=bac209eb1d120c27acc1ede8fa7dfef81f3eaaf1;hpb=0f399ee8cbe875b2831ea2870e60ee17800d811d diff --git a/src/rrd_update.c b/src/rrd_update.c index 2c5cd37..0f0bf3d 100644 --- a/src/rrd_update.c +++ b/src/rrd_update.c @@ -1,5 +1,5 @@ /***************************************************************************** - * RRDtool 1.2rc2 Copyright by Tobi Oetiker, 1997-2005 + * RRDtool 1.2rc3 Copyright by Tobi Oetiker, 1997-2005 ***************************************************************************** * rrd_update.c RRD Update Function ***************************************************************************** @@ -13,7 +13,7 @@ #include #endif -#ifdef WIN32 +#if defined(WIN32) && !defined(__CYGWIN__) && !defined(__CYGWIN32__) #include #include #include @@ -24,7 +24,7 @@ #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. @@ -89,7 +89,7 @@ int main(int argc, char **argv){ rrd_update(argc,argv); if (rrd_test_error()) { - printf("RRDtool 1.2rc2 Copyright by Tobi Oetiker, 1997-2005\n\n" + printf("RRDtool 1.2rc3 Copyright by Tobi Oetiker, 1997-2005\n\n" "Usage: rrdupdate filename\n" "\t\t\t[--template|-t ds-name:ds-name:...]\n" "\t\t\ttime|N:value[:value...]\n\n" @@ -1383,10 +1383,10 @@ _rrd_update(char *filename, char *template, int argc, char **argv, * 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) @@ -1429,15 +1429,7 @@ LockRRD(FILE *rrdfile) 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 ) { @@ -1445,6 +1437,14 @@ LockRRD(FILE *rrdfile) } 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 }