The patch fixs rrdtools behaviour when presented with trunkated rrd files.
* Make sure that we do not extend past the end of the
file when reading the header.
* Makes sure that the data portion of the file is large enough, based on
the ds_cnt and the total number of RRA rows
-- kevin brintnall
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1570 a5681a0c-68f1-0310-ab6d-d61299d08faa
* Make sure that we do not extend past the end of the
file when reading the header.
* Makes sure that the data portion of the file is large enough, based on
the ds_cnt and the total number of RRA rows
-- kevin brintnall
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1570 a5681a0c-68f1-0310-ab6d-d61299d08faa
folding fix
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1567 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1567 a5681a0c-68f1-0310-ab6d-d61299d08faa
missing spaces in extconf.rb caused compile failure -- kevin
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1566 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1566 a5681a0c-68f1-0310-ab6d-d61299d08faa
permission fix for rrdcached socket -- Daniel.Pocock
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1565 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1565 a5681a0c-68f1-0310-ab6d-d61299d08faa
since rrdcached uses pthread functions, use the threadsafe version of librrd as well. This will
also reasolve build problems on boxes there the ptherad functions must be linked explicitly.
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1559 a5681a0c-68f1-0310-ab6d-d61299d08faa
also reasolve build problems on boxes there the ptherad functions must be linked explicitly.
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1559 a5681a0c-68f1-0310-ab6d-d61299d08faa
Clearer explanation on which paths are permitted when -B is supplied -- kevin
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1558 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1558 a5681a0c-68f1-0310-ab6d-d61299d08faa
Fixes for the following compiler warnings:
- unused variable
- unused parameter
- assignment / argument discards qualifiers from pointer target type
- comparison between signed and unsigned
- too many arguments to function
- assignment makes pointer from integer without a cast
- incompatible pointer type
- differ in signedness
- implicit declaration of function
- enumeration value not handled in switch
- value computed is not used
Most notably, a possible segfault in the Rrd_Lastupdate() code of the TCL
bindings has been fixed.
Also, -Wundef (warn if an undefined identifier is evaluated in an #if
directive) has been removed from CFLAGS. I don't see any problem with letting
undefined identifiers evaluate to "false" in rrdtool. Keeping that option
would produce a lot of (imho unnecessary) errors which would need to be fixed
using ugly preprocessor statements like '#if defined(FOO) && FOO'.
-- Sebastian Harl
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1557 a5681a0c-68f1-0310-ab6d-d61299d08faa
- unused variable
- unused parameter
- assignment / argument discards qualifiers from pointer target type
- comparison between signed and unsigned
- too many arguments to function
- assignment makes pointer from integer without a cast
- incompatible pointer type
- differ in signedness
- implicit declaration of function
- enumeration value not handled in switch
- value computed is not used
Most notably, a possible segfault in the Rrd_Lastupdate() code of the TCL
bindings has been fixed.
Also, -Wundef (warn if an undefined identifier is evaluated in an #if
directive) has been removed from CFLAGS. I don't see any problem with letting
undefined identifiers evaluate to "false" in rrdtool. Keeping that option
would produce a lot of (imho unnecessary) errors which would need to be fixed
using ugly preprocessor statements like '#if defined(FOO) && FOO'.
-- Sebastian Harl
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1557 a5681a0c-68f1-0310-ab6d-d61299d08faa
I've adapted an init script for rrdcached, and also incorporated it into
the spec file so that it is deployed with the RPM.
There are also some other changes to the spec file so that I could build
an RPM successfully from trunk. I'm happy to tidy up the spec file some
more if no one else wants to mandate the best way to do it.
By default, rrdcached runs as nobody. I've tested this on a server
running Ganglia gmetad.
Regards,
Daniel
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1556 a5681a0c-68f1-0310-ab6d-d61299d08faa
the spec file so that it is deployed with the RPM.
There are also some other changes to the spec file so that I could build
an RPM successfully from trunk. I'm happy to tidy up the spec file some
more if no one else wants to mandate the best way to do it.
By default, rrdcached runs as nobody. I've tested this on a server
running Ganglia gmetad.
Regards,
Daniel
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1556 a5681a0c-68f1-0310-ab6d-d61299d08faa
Now, moving a value to the head of the queue is O(1). Before it was
O(queue size). This improves performance of individual flushes when
there is a large number of files in the queue. As a result, we don't
hold the cache_lock as much.
Revamped enqueue_cache_item to take advantage of the new structure.
Renamed _wipe_ci_values to look nicer with other code.
--kevin
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1555 a5681a0c-68f1-0310-ab6d-d61299d08faa
O(queue size). This improves performance of individual flushes when
there is a large number of files in the queue. As a result, we don't
hold the cache_lock as much.
Revamped enqueue_cache_item to take advantage of the new structure.
Renamed _wipe_ci_values to look nicer with other code.
--kevin
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1555 a5681a0c-68f1-0310-ab6d-d61299d08faa
lcd is actually gcd!
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1552 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1552 a5681a0c-68f1-0310-ab6d-d61299d08faa
When -B is specified, the daemon will only operate on files within the
base directory. Symlink detection is omitted for performance reasons (if
a user can create a symlink, they can probably overwrite the RRDs anyway). -- kevin
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1551 a5681a0c-68f1-0310-ab6d-d61299d08faa
base directory. Symlink detection is omitted for performance reasons (if
a user can create a symlink, they can probably overwrite the RRDs anyway). -- kevin
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1551 a5681a0c-68f1-0310-ab6d-d61299d08faa
check permissions before writing to journal -- kevin
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1550 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1550 a5681a0c-68f1-0310-ab6d-d61299d08faa
The daemon should behave the same way w/r/t files whether we "-g" or not.
-- kevin
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1549 a5681a0c-68f1-0310-ab6d-d61299d08faa
-- kevin
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1549 a5681a0c-68f1-0310-ab6d-d61299d08faa
This bug caused the last line in each journal file to be processed a
second time. Since it had been modified due to tokenizing, it failed
syntax check. The daemon would always record one failed line at
end-of-journal as a result. No data loss incurred by this bug. -- kevin
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1548 a5681a0c-68f1-0310-ab6d-d61299d08faa
second time. Since it had been modified due to tokenizing, it failed
syntax check. The daemon would always record one failed line at
end-of-journal as a result. No data loss incurred by this bug. -- kevin
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1548 a5681a0c-68f1-0310-ab6d-d61299d08faa
This patch introduces the concept of socket privilege levels. "UPDATE"
and "FLUSHALL" commands are restricted to high-privilege sockets. "FLUSH"
commands can be executed on any socket. This is ideal for multi-user
installations where only certain users need write access to the RRD files.
Now, nearly all socket information is passed around the daemon in
listen_socket_t data structures. In case there is other per-socket state
(i.e. if we add authentication) we can put it there.
Also, I created a new "open_listen_socket_network" and removed the network
setup from "open_listen_socket". -- kevin
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1547 a5681a0c-68f1-0310-ab6d-d61299d08faa
and "FLUSHALL" commands are restricted to high-privilege sockets. "FLUSH"
commands can be executed on any socket. This is ideal for multi-user
installations where only certain users need write access to the RRD files.
Now, nearly all socket information is passed around the daemon in
listen_socket_t data structures. In case there is other per-socket state
(i.e. if we add authentication) we can put it there.
Also, I created a new "open_listen_socket_network" and removed the network
setup from "open_listen_socket". -- kevin
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1547 a5681a0c-68f1-0310-ab6d-d61299d08faa
This patch provides better error messages to the client when something
goes wrong with the daemon. When possible, the daemon error message is
passed through to rrd_set_error() on the client. Prior to this patch,
most error conditions would result in "Internal error", which is not very
helpful. -- kevin brintnall
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1546 a5681a0c-68f1-0310-ab6d-d61299d08faa
goes wrong with the daemon. When possible, the daemon error message is
passed through to rrd_set_error() on the client. Prior to this patch,
most error conditions would result in "Internal error", which is not very
helpful. -- kevin brintnall
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1546 a5681a0c-68f1-0310-ab6d-d61299d08faa
spelling fix -- kevin
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1543 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1543 a5681a0c-68f1-0310-ab6d-d61299d08faa
This patch removes an extra "SIGNALS" section in the rrdcached.pod and
merges "[BUG] fixed hang in flush_file() introduced by per-file flush
condition". -- kevin brintnall
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1542 a5681a0c-68f1-0310-ab6d-d61299d08faa
merges "[BUG] fixed hang in flush_file() introduced by per-file flush
condition". -- kevin brintnall
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1542 a5681a0c-68f1-0310-ab6d-d61299d08faa
a few missing {{{ folding }}} markers added
-- kevin brintnall
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1541 a5681a0c-68f1-0310-ab6d-d61299d08faa
-- kevin brintnall
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1541 a5681a0c-68f1-0310-ab6d-d61299d08faa
This patch introduces "fast shutdown" mode and two new signals.
-- kevin brintnall
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1540 a5681a0c-68f1-0310-ab6d-d61299d08faa
-- kevin brintnall
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1540 a5681a0c-68f1-0310-ab6d-d61299d08faa
Moved signal handler setup out of daemonize(). Coalesced common code
in preparation for new signals. Documented behavior of existing signals.
-- kevin brintnall
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1539 a5681a0c-68f1-0310-ab6d-d61299d08faa
in preparation for new signals. Documented behavior of existing signals.
-- kevin brintnall
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1539 a5681a0c-68f1-0310-ab6d-d61299d08faa
Attached is a patch to lower the version requirements of libtool and
automake. I have tested this on CentOS 4.x with the specified
versions of libtool and automake and was able to build RRDTool fine.
I did *not* test building with PHP, tcl, ruby or Python though.
I also abstracted the version numbers of all the dependencies such
that editing them in the future will be easier.
-- Bernard Li
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1537 a5681a0c-68f1-0310-ab6d-d61299d08faa
automake. I have tested this on CentOS 4.x with the specified
versions of libtool and automake and was able to build RRDTool fine.
I did *not* test building with PHP, tcl, ruby or Python though.
I also abstracted the version numbers of all the dependencies such
that editing them in the future will be easier.
-- Bernard Li
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1537 a5681a0c-68f1-0310-ab6d-d61299d08faa
added support for FLUSHALL command -- kevin brintnall
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1535 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1535 a5681a0c-68f1-0310-ab6d-d61299d08faa
move cache broadcast into enqueue_cache_item -- kevin brintnall
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1534 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1534 a5681a0c-68f1-0310-ab6d-d61299d08faa
When -z <jitter> is specified, some updates may be timestamped up to
<jitter> seconcds in the future. Therefore, a timeout of now+1 may not be
sufficient. Set abs_timeout past the point where any updates are
currently specified. -- kevin brintnall
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1533 a5681a0c-68f1-0310-ab6d-d61299d08faa
<jitter> seconcds in the future. Therefore, a timeout of now+1 may not be
sufficient. Set abs_timeout past the point where any updates are
currently specified. -- kevin brintnall
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1533 a5681a0c-68f1-0310-ab6d-d61299d08faa
The PID file is created with open() in the parent process, while we still
have STDERR open. If it cannot be created, it complains verbosely to
stderr.
The PID file is written in the child process. The only way the fdopen()
will fail on a fd that is already open is if you're completely out of
memory. As in other places in the code, I didn't consider this a case
that required a very verbose message. (Search for "strdup failed"). If
you still think a more verbose message is called for, please suggest one.
The attached patch corrects the error message to complain about fdopen()
vs fopen(). I hadn't noticed that until you brought it up.
-- kevin brintnall
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1532 a5681a0c-68f1-0310-ab6d-d61299d08faa
have STDERR open. If it cannot be created, it complains verbosely to
stderr.
The PID file is written in the child process. The only way the fdopen()
will fail on a fd that is already open is if you're completely out of
memory. As in other places in the code, I didn't consider this a case
that required a very verbose message. (Search for "strdup failed"). If
you still think a more verbose message is called for, please suggest one.
The attached patch corrects the error message to complain about fdopen()
vs fopen(). I hadn't noticed that until you brought it up.
-- kevin brintnall
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1532 a5681a0c-68f1-0310-ab6d-d61299d08faa
rrd.h, librrd.sym: Define and export rrd_info_r() -- Sebastian Harl
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1531 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1531 a5681a0c-68f1-0310-ab6d-d61299d08faa
vdef calc was using end_orig to determine for which range it should do its
calculations which is odd, since orig is only the requested range as
invocation time and not the data range deliverd by fetch. It does fall
completely flat when shifting since shifting does not affect the original
data. Bug #177 reported by hokiel
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1530 a5681a0c-68f1-0310-ab6d-d61299d08faa
calculations which is odd, since orig is only the requested range as
invocation time and not the data range deliverd by fetch. It does fall
completely flat when shifting since shifting does not affect the original
data. Bug #177 reported by hokiel
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1530 a5681a0c-68f1-0310-ab6d-d61299d08faa
rrdxport was completely broken for exporting datasources that did not have a uniform step size. Thanks to Peter Valdemar Mørch for finding this.
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1529 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1529 a5681a0c-68f1-0310-ab6d-d61299d08faa
create the pid file before forking, so we can complain to stderr -- kevin brintnall
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1528 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1528 a5681a0c-68f1-0310-ab6d-d61299d08faa
This patch ensures that the "FLUSH" command will write the updates out to
RRD before returning to the user. Before, it returned when the update was
"dequeued"; updates were not necessarily on disk.
Also, for new nodes, the cache_lock is not held while we are setting up
the new node. We don't want to be holding the lock if the stat() blocks.
-- kevin brintnal
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1527 a5681a0c-68f1-0310-ab6d-d61299d08faa
RRD before returning to the user. Before, it returned when the update was
"dequeued"; updates were not necessarily on disk.
Also, for new nodes, the cache_lock is not held while we are setting up
the new node. We don't want to be holding the lock if the stat() blocks.
-- kevin brintnal
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1527 a5681a0c-68f1-0310-ab6d-d61299d08faa
Use the same IPv6/IPv4 as for the client as Florian did for the server -- kevin brintnall
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1526 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1526 a5681a0c-68f1-0310-ab6d-d61299d08faa
This fixes a couple problems when exiting due to signal:
* connection threads exit without closing client socket
(so client blocks waiting for response that never comes)
* listen_queue_thread blocks on poll() until a new connection comes in
(because no poll timeout specified)
-- kevin brintnall
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1525 a5681a0c-68f1-0310-ab6d-d61299d08faa
* connection threads exit without closing client socket
(so client blocks waiting for response that never comes)
* listen_queue_thread blocks on poll() until a new connection comes in
(because no poll timeout specified)
-- kevin brintnall
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1525 a5681a0c-68f1-0310-ab6d-d61299d08faa
set SO_REUSEADDR on the listen socket -- kevin brintnall
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1524 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1524 a5681a0c-68f1-0310-ab6d-d61299d08faa
Support for IPv6 has been broken with revision 1522: Because IPv6-addresses
contain colons, simply checking for a colon and using everything after it does
destroy correctly formatted IPv6-addresses.
This patch checks for dots '.' in the address. If the address contains at least
one dot, it is considered to be a hostname or an IPv4-address and a simple
search for a colon is done.
If no dot is found, the code will check for an opening square bracket '[' at
the beginning of the address. If one if found, the format
[address]:port
is assumed.
If neither applies, the default port will be used.
-- Florian Forster
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1523 a5681a0c-68f1-0310-ab6d-d61299d08faa
contain colons, simply checking for a colon and using everything after it does
destroy correctly formatted IPv6-addresses.
This patch checks for dots '.' in the address. If the address contains at least
one dot, it is considered to be a hostname or an IPv4-address and a simple
search for a colon is done.
If no dot is found, the code will check for an opening square bracket '[' at
the beginning of the address. If one if found, the format
[address]:port
is assumed.
If neither applies, the default port will be used.
-- Florian Forster
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1523 a5681a0c-68f1-0310-ab6d-d61299d08faa
This adds support for <address>:<port> in the rrd client library.
Obviously this is required to take advantage of the server's ability to
bind to a non-standard port -- kevin brintnall
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1522 a5681a0c-68f1-0310-ab6d-d61299d08faa
Obviously this is required to take advantage of the server's ability to
bind to a non-standard port -- kevin brintnall
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1522 a5681a0c-68f1-0310-ab6d-d61299d08faa
Allow ports to be specified with -l addr:port also. -- kevin brintnall
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1521 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1521 a5681a0c-68f1-0310-ab6d-d61299d08faa
the rrdlua.pod is in the doc directory
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1520 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1520 a5681a0c-68f1-0310-ab6d-d61299d08faa
added section on error reporting -- Florian Forster
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1519 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1519 a5681a0c-68f1-0310-ab6d-d61299d08faa
I finally finished the first version of the patch (attached) -- Fidelis Assis fidelis pobox.com
(this does not seem to quite work yet at least not in my hardy setup)
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1517 a5681a0c-68f1-0310-ab6d-d61299d08faa
(this does not seem to quite work yet at least not in my hardy setup)
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1517 a5681a0c-68f1-0310-ab6d-d61299d08faa
use default prefix for ruby install if no user defined prefix is available
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1515 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1515 a5681a0c-68f1-0310-ab6d-d61299d08faa
Bsd lirary path switch added to perl bindings makefile -- as suggested by Kevin Brintnall
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1513 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1513 a5681a0c-68f1-0310-ab6d-d61299d08faa
Fix for debian bug 498183 ... never *advise after the end of the
file. On sparc this causes a segfault. Thanks to Sebastian Harl and Jurij Smakov for finding this.
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1512 a5681a0c-68f1-0310-ab6d-d61299d08faa
file. On sparc this causes a segfault. Thanks to Sebastian Harl and Jurij Smakov for finding this.
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1512 a5681a0c-68f1-0310-ab6d-d61299d08faa
fix RRDCacheD documentation -- Florian Forster
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1507 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1507 a5681a0c-68f1-0310-ab6d-d61299d08faa
The previous code was broken: The response was read using `read(2)'. If
the server wasn't sending fast enough, the client would stop reading
before the entire message had been read.
This patch changes the communication code to use the (line based)
`fgets' function rather than the lower level `read' function. After
reading the first line (which contains the total number of line to be
expected), this precise number of lines is read - blocking if necessary.
Also, the missing four new statistic values have been added to
`rrdc_stats_get'.
--Folorian Forester
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1506 a5681a0c-68f1-0310-ab6d-d61299d08faa
the server wasn't sending fast enough, the client would stop reading
before the entire message had been read.
This patch changes the communication code to use the (line based)
`fgets' function rather than the lower level `read' function. After
reading the first line (which contains the total number of line to be
expected), this precise number of lines is read - blocking if necessary.
Also, the missing four new statistic values have been added to
`rrdc_stats_get'.
--Folorian Forester
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1506 a5681a0c-68f1-0310-ab6d-d61299d08faa
did not pick up all the changes for rrdcached in the first round ... so here is the second batch.
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1505 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1505 a5681a0c-68f1-0310-ab6d-d61299d08faa
RRDcached patch. This implements an infrastructure, where rrd updates can be
sent to a daemon which caches them prior to bulk-updateing rrd files. See the rrdcached manual page.
-- Created by Florian Forster with some help from Kevin Brintnall.
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1504 a5681a0c-68f1-0310-ab6d-d61299d08faa
sent to a daemon which caches them prior to bulk-updateing rrd files. See the rrdcached manual page.
-- Created by Florian Forster with some help from Kevin Brintnall.
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1504 a5681a0c-68f1-0310-ab6d-d61299d08faa
regarding #183:
* move part of rrd_config.h out to a separate file, so that
autoconf is not confused by the more complex expressions.
* fix configure variable name to allow caching
* another attemt at fixing solaris 2.8 compile so that it
works out of the box.
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1502 a5681a0c-68f1-0310-ab6d-d61299d08faa
* move part of rrd_config.h out to a separate file, so that
autoconf is not confused by the more complex expressions.
* fix configure variable name to allow caching
* another attemt at fixing solaris 2.8 compile so that it
works out of the box.
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1502 a5681a0c-68f1-0310-ab6d-d61299d08faa
fix graph docs
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1501 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1501 a5681a0c-68f1-0310-ab6d-d61299d08faa
fixed processing of custom fonts René GARCIA <rene@margar.fr>
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1500 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1500 a5681a0c-68f1-0310-ab6d-d61299d08faa
no , on the last member in C
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1499 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1499 a5681a0c-68f1-0310-ab6d-d61299d08faa
16 years agoThe attached patch eliminates the many places where the rra_current pointer was maint...
The attached patch eliminates the many places where the rra_current pointer was maintained; the existing write/seek mechanisms update rrd_file->pos correctly.
Also, the seek at the front of process_arg is not necessary; write_to_rras will now take care to correct the file position at every update cycle.
This eliminates unnecessary rrd_seek() calls when MMAP is not enabled. -- kevin brintnall kbrint rufus.net
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1488 a5681a0c-68f1-0310-ab6d-d61299d08faa
Also, the seek at the front of process_arg is not necessary; write_to_rras will now take care to correct the file position at every update cycle.
This eliminates unnecessary rrd_seek() calls when MMAP is not enabled. -- kevin brintnall kbrint rufus.net
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1488 a5681a0c-68f1-0310-ab6d-d61299d08faa
prepare for the release of rrdtool-1.3.2
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1484 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1484 a5681a0c-68f1-0310-ab6d-d61299d08faa
we need rrd_format.h here for things to compile properly
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1483 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1483 a5681a0c-68f1-0310-ab6d-d61299d08faa
updated opensolaris build instructions
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1482 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1482 a5681a0c-68f1-0310-ab6d-d61299d08faa
only link build and use rrd_getopt if there is no getopt_long provided by
by the os ... this should also fix problems for solaris 2.8 and other
non getopt_long oses who were not taken care of anymore after the intriduction of librrd.sym
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1481 a5681a0c-68f1-0310-ab6d-d61299d08faa
by the os ... this should also fix problems for solaris 2.8 and other
non getopt_long oses who were not taken care of anymore after the intriduction of librrd.sym
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1481 a5681a0c-68f1-0310-ab6d-d61299d08faa
16 years agofix for multi update - data corruption bug as reported (and patched) in #178 by kevin...
fix for multi update - data corruption bug as reported (and patched) in #178 by kevin brintnall
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1480 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1480 a5681a0c-68f1-0310-ab6d-d61299d08faa
make pod checker happy
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1479 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1479 a5681a0c-68f1-0310-ab6d-d61299d08faa
inline functions are not supported in c99 ... lets remove this.
the compiler will foture it out if they are important.
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1478 a5681a0c-68f1-0310-ab6d-d61299d08faa
the compiler will foture it out if they are important.
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1478 a5681a0c-68f1-0310-ab6d-d61299d08faa
introduced a persistant fontmap ... this makes our pango rendering 6 times faster starting from the second graph we draw.
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1477 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1477 a5681a0c-68f1-0310-ab6d-d61299d08faa
now the results actually look as they did with the old code only things are FASTER
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1476 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1476 a5681a0c-68f1-0310-ab6d-d61299d08faa
16 years agoImprove performance by keeping multiple pango font descriptions. For the first invoca...
Improve performance by keeping multiple pango font descriptions. For the first invocation we are about 20% times as fast
for the second one about 4-5 times faster ...
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1475 a5681a0c-68f1-0310-ab6d-d61299d08faa
for the second one about 4-5 times faster ...
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1475 a5681a0c-68f1-0310-ab6d-d61299d08faa
trying to improve the pango performance I added facilities to cache layout,context and more in between invocations of
the text function, unfortunately it does not seem to help all that much.
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1474 a5681a0c-68f1-0310-ab6d-d61299d08faa
the text function, unfortunately it does not seem to help all that much.
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1474 a5681a0c-68f1-0310-ab6d-d61299d08faa
use the standart info free function
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1473 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1473 a5681a0c-68f1-0310-ab6d-d61299d08faa
fix handling of error conditions in rrd_tool.c ... errno is not for detection, only for information AFTER detection.
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1471 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1471 a5681a0c-68f1-0310-ab6d-d61299d08faa
free the linebuffer if you don't return it!
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1470 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1470 a5681a0c-68f1-0310-ab6d-d61299d08faa
some more leak plugging
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1469 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1469 a5681a0c-68f1-0310-ab6d-d61299d08faa
drop the dummy surface prior to creating the real one
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1468 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1468 a5681a0c-68f1-0310-ab6d-d61299d08faa
added some freeing for error conditions
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1467 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1467 a5681a0c-68f1-0310-ab6d-d61299d08faa
fixed indentation ... gnu indent results are not realy beautifl. I might switch to uncrustify.
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1466 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1466 a5681a0c-68f1-0310-ab6d-d61299d08faa
16 years agoMany rrd_create memory leaks patched ... based on valgrind analysis by Sven Engelhard...
Many rrd_create memory leaks patched ... based on valgrind analysis by Sven Engelhardt. Thanks!
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1465 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1465 a5681a0c-68f1-0310-ab6d-d61299d08faa
fix indentation
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1464 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1464 a5681a0c-68f1-0310-ab6d-d61299d08faa
added sparc-sun-solaris2.8 to list of broken isfinite implementations
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1463 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1463 a5681a0c-68f1-0310-ab6d-d61299d08faa
it is rb_rrd_infocall not rrd_infocall ...
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1462 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1462 a5681a0c-68f1-0310-ab6d-d61299d08faa
When in lazy mode, and the graph does not get regenerated, then there are no
results from PRINT either. Fix for #163.
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1461 a5681a0c-68f1-0310-ab6d-d61299d08faa
results from PRINT either. Fix for #163.
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1461 a5681a0c-68f1-0310-ab6d-d61299d08faa
documentation updates
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1460 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1460 a5681a0c-68f1-0310-ab6d-d61299d08faa
16 years agomake sure imageinfo only reports the filename and not the whole path. This is a regre...
make sure imageinfo only reports the filename and not the whole path. This is a regression from 1.2.x where this was implemented properly.
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1459 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1459 a5681a0c-68f1-0310-ab6d-d61299d08faa
The attached patch converts the given string to UTF-8 using glib's
g_locale_to_utf8() function. This function expects the string to be
encoded as specified by the locale settings, so this will fail if e.g.
you're using some script which is encoded in some way incompatible to
the locale settings. In this case, the patch falls back to use the
original string as provided by the user as there is no way to tell how
to interpret that string. So, in this case, you will still get the old
behavior (that pango warning and messed up strings in the graph).
However, imho this is perfectly fine since it should be up to the user
to take care of a sane environment. -- Sebastian Harl
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1457 a5681a0c-68f1-0310-ab6d-d61299d08faa
g_locale_to_utf8() function. This function expects the string to be
encoded as specified by the locale settings, so this will fail if e.g.
you're using some script which is encoded in some way incompatible to
the locale settings. In this case, the patch falls back to use the
original string as provided by the user as there is no way to tell how
to interpret that string. So, in this case, you will still get the old
behavior (that pango warning and messed up strings in the graph).
However, imho this is perfectly fine since it should be up to the user
to take care of a sane environment. -- Sebastian Harl
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1457 a5681a0c-68f1-0310-ab6d-d61299d08faa
newer perlapi docu suggests to use SV * instead of void for managed returns
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1456 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1456 a5681a0c-68f1-0310-ab6d-d61299d08faa
fixed some c++ style lines -- David Masterson
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1455 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1455 a5681a0c-68f1-0310-ab6d-d61299d08faa
spelling fix
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1454 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1454 a5681a0c-68f1-0310-ab6d-d61299d08faa
forward ported patch for rra cur_row randomization in rrd_restore from 1.2.28 to 1.3.1
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1453 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1453 a5681a0c-68f1-0310-ab6d-d61299d08faa
prepare for the release of rrdtool-1.3.1
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1447 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1447 a5681a0c-68f1-0310-ab6d-d61299d08faa
16 years agoadded support for restoring rrdtool 1.0.x files ... removed support for old HW patche...
added support for restoring rrdtool 1.0.x files ... removed support for old HW patched rrd format created by an early patched version of 1.0.x
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1446 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1446 a5681a0c-68f1-0310-ab6d-d61299d08faa
Fix for #167 - rrdcreate is arguably missing a check for 'step>=1' for RRAs with AVERAGE as a CF. I ran into this when specifying 0.6 as a step value, assuming floats were also accepted. Patch attached here. -- Bogdan
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1445 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1445 a5681a0c-68f1-0310-ab6d-d61299d08faa
header-fix
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1444 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1444 a5681a0c-68f1-0310-ab6d-d61299d08faa
improve layout
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1443 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1443 a5681a0c-68f1-0310-ab6d-d61299d08faa
added rrd filename to illegal update message -- he at uninett.no
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1441 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1441 a5681a0c-68f1-0310-ab6d-d61299d08faa
rrdtool.spec fix by Anton Blanchard to build without php patch
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1440 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1440 a5681a0c-68f1-0310-ab6d-d61299d08faa
make sure image-with and image-height get returned even when rrdtool is called with --lazy as reported in bug #163
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1439 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1439 a5681a0c-68f1-0310-ab6d-d61299d08faa
rrdtool.fetch is returning an extra, bogus, data point. Attached is a
patch to correct this. - Gilad Raphaelli. Fix for #161
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1436 a5681a0c-68f1-0310-ab6d-d61299d08faa
patch to correct this. - Gilad Raphaelli. Fix for #161
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1436 a5681a0c-68f1-0310-ab6d-d61299d08faa
added note on %S
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1435 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1435 a5681a0c-68f1-0310-ab6d-d61299d08faa
made news the same as the announcement
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1434 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1434 a5681a0c-68f1-0310-ab6d-d61299d08faa
prepare for the release of rrdtool-1.3.0
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1432 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1432 a5681a0c-68f1-0310-ab6d-d61299d08faa
oops it is 1.3.0 not 1.4.0 yet
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1428 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1428 a5681a0c-68f1-0310-ab6d-d61299d08faa
preparing for 1.3
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1427 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1427 a5681a0c-68f1-0310-ab6d-d61299d08faa
document the 'internal' functions in rrd.h but mark them as deprecated, so
that anyone using them will see that they should not be doing it.
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1426 a5681a0c-68f1-0310-ab6d-d61299d08faa
that anyone using them will see that they should not be doing it.
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1426 a5681a0c-68f1-0310-ab6d-d61299d08faa
flip check for row_count with setting for better code logic
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1425 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1425 a5681a0c-68f1-0310-ab6d-d61299d08faa
check row count in RRAs to be > 0 ... by Sebastian Harl
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1424 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1424 a5681a0c-68f1-0310-ab6d-d61299d08faa
for windows we must open files in O_BINARY mode
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1423 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1423 a5681a0c-68f1-0310-ab6d-d61299d08faa