X-Git-Url: https://git.octo.it/?p=rrdtool.git;a=blobdiff_plain;f=src%2Frrd_open.c;h=062de236b0b41c77674dd8fabc202e48e8482c50;hp=16545145ba214444219fbd09b72e3765ae2d7a8e;hb=896f660d222db6362e6171c68d33e8eecdc0d57a;hpb=da01610763dd87294ae64a909093b41434cf50a4 diff --git a/src/rrd_open.c b/src/rrd_open.c index 1654514..062de23 100644 --- a/src/rrd_open.c +++ b/src/rrd_open.c @@ -6,20 +6,22 @@ * $Id$ *****************************************************************************/ +#ifdef WIN32 #include #include #include +#endif + +#ifdef HAVE_BROKEN_MS_ASYNC +#include #include +#endif #include "rrd_tool.h" #include "unused.h" #define MEMBLK 8192 #ifdef WIN32 -# define random() rand() -# define srandom(x) srand(x) -# define getpid() 0 - #define _LK_UNLCK 0 /* Unlock */ #define _LK_LOCK 1 /* Lock */ #define _LK_NBLCK 2 /* Non-blocking lock */ @@ -78,10 +80,6 @@ #endif #endif -long int rra_random_row( - rra_def_t *); - - /* Open a database file, return its header and an open filehandle, * positioned to the first cdp in the first rra. * In the error path of rrd_open, only rrd_free(&rrd) has to be called @@ -115,15 +113,7 @@ rrd_file_t *rrd_open( /* Are we creating a new file? */ if((rdwr & RRD_CREAT) && (rrd->stat_head != NULL)) { - header_len = \ - sizeof(stat_head_t) + \ - sizeof(ds_def_t) * rrd->stat_head->ds_cnt + \ - sizeof(rra_def_t) * rrd->stat_head->rra_cnt + \ - sizeof(time_t) + \ - sizeof(live_head_t) + \ - sizeof(pdp_prep_t) * rrd->stat_head->ds_cnt + \ - sizeof(cdp_prep_t) * rrd->stat_head->ds_cnt * rrd->stat_head->rra_cnt + \ - sizeof(rra_ptr_t) * rrd->stat_head->rra_cnt; + header_len = rrd_get_header_size(rrd); value_cnt = 0; for (ui = 0; ui < rrd->stat_head->rra_cnt; ui++) @@ -480,7 +470,7 @@ void rrd_dontneed( size_t dontneed_start; size_t rra_start; size_t active_block; - unsigned long i; + size_t i; ssize_t _page_size = sysconf(_SC_PAGESIZE); if (rrd_file == NULL) { @@ -763,19 +753,5 @@ unsigned long rrd_select_initial_row( rra_def_t *rra ) { - return rra_random_row(rra); + return rrd_random() % rra->row_cnt; } - -static int rand_init = 0; - -long int rra_random_row( - rra_def_t *rra) -{ - if (!rand_init) { - srandom((unsigned int) time(NULL) + (unsigned int) getpid()); - rand_init++; - } - - return random() % rra->row_cnt; -} -