projects
/
rrdtool.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
move cache broadcast into enqueue_cache_item -- kevin brintnall
[rrdtool.git]
/
src
/
rrd_daemon.c
diff --git
a/src/rrd_daemon.c
b/src/rrd_daemon.c
index
d30893e
..
f746a35
100644
(file)
--- a/
src/rrd_daemon.c
+++ b/
src/rrd_daemon.c
@@
-236,7
+236,7
@@
static int write_pidfile (int fd) /* {{{ */
fh = fdopen (fd, "w");
if (fh == NULL)
{
fh = fdopen (fd, "w");
if (fh == NULL)
{
- RRDD_LOG (LOG_ERR, "write_pidfile: fopen() failed.");
+ RRDD_LOG (LOG_ERR, "write_pidfile: f
d
open() failed.");
close(fd);
return (-1);
}
close(fd);
return (-1);
}
@@
-428,6
+428,7
@@
static int enqueue_cache_item (cache_item_t *ci, /* {{{ */
if (did_insert)
{
if (did_insert)
{
+ pthread_cond_broadcast(&cache_cond);
pthread_mutex_lock (&stats_lock);
stats_queue_length++;
pthread_mutex_unlock (&stats_lock);
pthread_mutex_lock (&stats_lock);
stats_queue_length++;
pthread_mutex_unlock (&stats_lock);
@@
-500,7
+501,7
@@
static int flush_old_values (int max_age)
if (max_age > 0)
cfd.abs_timeout = cfd.now - max_age;
else
if (max_age > 0)
cfd.abs_timeout = cfd.now - max_age;
else
- cfd.abs_timeout = cfd.now + 1;
+ cfd.abs_timeout = cfd.now +
2*config_write_jitter +
1;
/* `tree_callback_flush' will return the keys of all values that haven't
* been touched in the last `config_flush_interval' seconds in `cfd'.
/* `tree_callback_flush' will return the keys of all values that haven't
* been touched in the last `config_flush_interval' seconds in `cfd'.
@@
-750,7
+751,6
@@
static int flush_file (const char *filename) /* {{{ */
/* Enqueue at head */
enqueue_cache_item (ci, HEAD);
/* Enqueue at head */
enqueue_cache_item (ci, HEAD);
- pthread_cond_signal (&cache_cond);
pthread_cond_wait(&ci->flushed, &cache_lock);
pthread_mutex_unlock(&cache_lock);
pthread_cond_wait(&ci->flushed, &cache_lock);
pthread_mutex_unlock(&cache_lock);
@@
-1135,7
+1135,6
@@
static int handle_request_update (int fd, /* {{{ */
&& (ci->values_num > 0))
{
enqueue_cache_item (ci, TAIL);
&& (ci->values_num > 0))
{
enqueue_cache_item (ci, TAIL);
- pthread_cond_signal (&cache_cond);
}
pthread_mutex_unlock (&cache_lock);
}
pthread_mutex_unlock (&cache_lock);