{
rc = rrdc_update (argv[optind], /* file */
argc - optind - 1, /* values_num */
- (void *) (argv + optind + 1)); /* values */
- if (rc != 0)
- {
+ (const char *const *) (argv + optind + 1)); /* values */
+ if (rc > 0)
rrd_set_error("Failed sending the values to rrdcached: %s",
- (rc < 0)
- ? "Internal error"
- : rrd_strerror (rc));
- }
+ rrd_strerror (rc));
}
out:
goto err_out;
}
+ rrd_init(&rrd);
if ((rrd_file = rrd_open(filename, &rrd, RRD_READWRITE)) == NULL) {
goto err_free;
}
}
/*
- * get exclusive lock to whole file.
- * lock gets removed when we close the file
- *
- * returns 0 on success
- */
-int rrd_lock(
- rrd_file_t *file)
-{
- int rcstat;
-
- {
-#if defined(_WIN32) && !defined(__CYGWIN__) && !defined(__CYGWIN32__)
- struct _stat st;
-
- if (_fstat(file->fd, &st) == 0) {
- rcstat = _locking(file->fd, _LK_NBLCK, st.st_size);
- } 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(file->fd, F_SETLK, &lock);
-#endif
- }
-
- return (rcstat);
-}
-
-/*
* Allocate some important arrays used, and initialize the template.
*
* When it returns, either all of the structures are allocated
(rrd_file, rrd, rra_idx, scratch_idx,
pcdp_summary, rra_time) == -1)
return -1;
+
+ rrd_notify_row(rrd_file, rra_idx, rra_pos_new, rra_time);
}
rra_start += rra_def->row_cnt * ds_cnt * sizeof(rrd_value_t);