src/plugin.[ch]: Pass an interval to `plugin_register_complex_read'.
authorFlorian Forster <sifnfors@informatik.stud.uni-erlangen.de>
Mon, 16 Mar 2009 15:15:11 +0000 (16:15 +0100)
committerFlorian Forster <sifnfors@informatik.stud.uni-erlangen.de>
Mon, 16 Mar 2009 15:15:11 +0000 (16:15 +0100)
src/java.c
src/plugin.c
src/plugin.h

index c6d4aee..243e8f1 100644 (file)
@@ -1407,7 +1407,8 @@ static jint JNICALL cjni_api_register_read (JNIEnv *jvm_env, /* {{{ */
   ud.data = (void *) cbi;
   ud.free_func = cjni_callback_info_destroy;
 
-  plugin_register_complex_read (cbi->name, cjni_read, &ud);
+  plugin_register_complex_read (cbi->name, cjni_read,
+      /* interval = */ NULL, &ud);
 
   (*jvm_env)->DeleteLocalRef (jvm_env, o_read);
 
index 8fdd7bb..5a7a52a 100644 (file)
@@ -679,7 +679,9 @@ int plugin_register_read (const char *name,
 } /* int plugin_register_read */
 
 int plugin_register_complex_read (const char *name,
-               plugin_read_cb callback, user_data_t *user_data)
+               plugin_read_cb callback,
+               const struct timespec *interval,
+               user_data_t *user_data)
 {
        read_func_t *rf;
 
@@ -705,8 +707,10 @@ int plugin_register_complex_read (const char *name,
        rf->rf_callback = (void *) callback;
        sstrncpy (rf->rf_name, name, sizeof (rf->rf_name));
        rf->rf_type = RF_COMPLEX;
-       rf->rf_interval.tv_sec = 0;
-       rf->rf_interval.tv_nsec = 0;
+       if (interval != NULL)
+       {
+               rf->rf_interval = *interval;
+       }
        rf->rf_effective_interval = rf->rf_interval;
 
        /* Set user data */
index bc4b07c..e54b27d 100644 (file)
@@ -248,7 +248,9 @@ int plugin_register_init (const char *name,
 int plugin_register_read (const char *name,
                int (*callback) (void));
 int plugin_register_complex_read (const char *name,
-               plugin_read_cb callback, user_data_t *user_data);
+               plugin_read_cb callback,
+               const struct timespec *interval,
+               user_data_t *user_data);
 int plugin_register_write (const char *name,
                plugin_write_cb callback, user_data_t *user_data);
 int plugin_register_flush (const char *name,