temporary kludge
authorRonnie Sahlberg <ronniesahlberg@gmail.com>
Wed, 12 May 2010 23:46:38 +0000 (09:46 +1000)
committerRonnie Sahlberg <ronniesahlberg@gmail.com>
Wed, 12 May 2010 23:46:38 +0000 (09:46 +1000)
add a temporary kludge to the ctdb_service() function to handle the timed events with zero timeout that are used in the loibctdb code.

libctdb/libctdb.c
libctdb/tst.c

index 638874c7c8903416b7dcd6ed8028001ae511c17e..47cc7c24d66c81bcb4de1e9e422ce5960ff02aa1 100644 (file)
 #include <poll.h>
 #include "includes.h"
 #include "lib/events/events.h"
+#include "lib/events/events_internal.h"
 #include "include/ctdb.h"
 #include "include/ctdb_protocol.h"
 #include "include/ctdb_private.h"
+#include <sys/time.h>
 
 struct ctdb_context *ctdb_connect(const char *addr)
 {
@@ -120,9 +122,12 @@ struct ctdb_context *ctdb_init(struct event_context *ev)
 int ctdb_service(struct ctdb_context *ctdb)
 {
        int ret;
+       struct timeval t;
 
        ret = event_loop_once(ctdb->ev);
-       ret = event_loop_once(ctdb->ev);
+       do {
+               t = common_event_loop_timer_delay(ctdb->ev);
+       } while(timeval_is_zero(&t));
 
        return 0;
 }
index 8f315caf51eb7bca980aafe56cb3d8b1b01fef2e..002d77b47530dc6e3ce6dcc380e16a1b60f1f2a4 100644 (file)
@@ -34,7 +34,7 @@ int main(int argc, char *argv[])
                printf("Failed to register message port\n");
                exit(10);
        }
-       ret = ctdb_set_message_handler_recv(ctdb_context, ctdb_handle);
+       ret = ctdb_set_message_handler_recv(ctdb_context, handle);
        if (ret != 0) {
                printf("Failed to receive set_message_handler reply\n");
                exit(10);