X-Git-Url: https://git.octo.it/?p=rrdtool.git;a=blobdiff_plain;f=src%2Frrdupdate.c;h=fe3e85d03ecc2120da09fe485a65ac049d3f36cf;hp=e61cea412bed02642f2e0bd18c168a3f31c4f699;hb=f9e5bd6a9d41c4607291cbbd88280129184ab325;hpb=c112f7c06e534ce7a5a4e25b6f7f742aeb051850 diff --git a/src/rrdupdate.c b/src/rrdupdate.c index e61cea4..fe3e85d 100644 --- a/src/rrdupdate.c +++ b/src/rrdupdate.c @@ -1,5 +1,5 @@ /***************************************************************************** - * RRDtool 1.2rc3 Copyright by Tobi Oetiker, 1997-2005 + * RRDtool 1.2rc6 Copyright by Tobi Oetiker, 1997-2005 ***************************************************************************** * rrd_update.c RRD Update Function ***************************************************************************** @@ -24,7 +24,7 @@ #include #include -#ifdef WIN32 +#if defined(WIN32) && !defined(__CYGWIN__) && !defined(__CYGWIN32__) #include #include #include @@ -45,7 +45,7 @@ int main(int argc, char **argv){ rrd_update(argc,argv); if (rrd_test_error()) { - printf("RRDtool 1.2rc3 Copyright 1997-2005 by Tobias Oetiker \n\n" + printf("RRDtool 1.2rc6 Copyright 1997-2005 by Tobias Oetiker \n\n" "Usage: rrdupdate filename\n" "\t\t\t[--template|-t ds-name:ds-name:...]\n" "\t\t\ttime|N:value[:value...]\n\n" @@ -1088,10 +1088,10 @@ rrd_update(int argc, char **argv) * critical except during the burning cycles. */ if (schedule_smooth) { -#ifndef WIN32 - rrd_file = fopen(argv[optind],"r+"); -#else +#if defined(WIN32) && !defined(__CYGWIN__) && !defined(__CYGWIN32__) rrd_file = fopen(argv[optind],"rb+"); +#else + rrd_file = fopen(argv[optind],"r+"); #endif rra_start = rra_begin; for (i = 0; i < rrd.stat_head -> rra_cnt; ++i) @@ -1134,15 +1134,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 */ - - stat = fcntl(rrd_fd, F_SETLK, &lock); -#else +#if defined(WIN32) && !defined(__CYGWIN__) && !defined(__CYGWIN32__) struct _stat st; if ( _fstat( rrd_fd, &st ) == 0 ) { @@ -1150,6 +1142,14 @@ LockRRD(FILE *rrdfile) } else { stat = -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 */ + + stat = fcntl(rrd_fd, F_SETLK, &lock); #endif }