r22634: make the events system much less dependent on the samba4 build system
authorAndrew Tridgell <tridge@samba.org>
Tue, 1 May 2007 21:29:42 +0000 (21:29 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 19:51:56 +0000 (14:51 -0500)
(This used to be commit b0c8c1cd21e3f91431504d70a4bc0d3c6dee6071)

source4/lib/events/config.mk
source4/lib/events/events.c
source4/lib/events/events_aio.c
source4/lib/events/events_epoll.c
source4/lib/events/events_internal.h
source4/lib/events/events_select.c
source4/lib/events/events_signal.c
source4/lib/events/events_standard.c

index 1268c6f51827abf5df1920f260fafa3d37a6261b..2e0a8a6028dba59dae654e7ba55b5f8a8b4c53a1 100644 (file)
@@ -3,28 +3,28 @@
 OBJ_FILES = events_aio.o
 PRIVATE_DEPENDENCIES = LIBAIO_LINUX
 SUBSYSTEM = LIBEVENTS
-INIT_FUNCTION = events_aio_init
+INIT_FUNCTION = s4_events_aio_init
 ##############################
 
 ##############################
 [MODULE::EVENTS_EPOLL]
 OBJ_FILES = events_epoll.o
 SUBSYSTEM = LIBEVENTS
-INIT_FUNCTION = events_epoll_init
+INIT_FUNCTION = s4_events_epoll_init
 ##############################
 
 ##############################
 [MODULE::EVENTS_SELECT]
 OBJ_FILES = events_select.o
 SUBSYSTEM = LIBEVENTS
-INIT_FUNCTION = events_select_init
+INIT_FUNCTION = s4_events_select_init
 ##############################
 
 ##############################
 [MODULE::EVENTS_STANDARD]
 OBJ_FILES = events_standard.o
 SUBSYSTEM = LIBEVENTS
-INIT_FUNCTION = events_standard_init
+INIT_FUNCTION = s4_events_standard_init
 ##############################
 
 
index e2d5b4c39776260b6fd5e18f449756ef85a2e6ac..3a81b55bd9478e5a1aaf3ab5f8a06e0683151ffc 100644 (file)
@@ -58,7 +58,9 @@
 #include "lib/events/events.h"
 #include "lib/events/events_internal.h"
 #include "lib/util/dlinklist.h"
+#if _SAMBA_BUILD_
 #include "build.h"
+#endif
 
 struct event_ops_list {
        struct event_ops_list *next, *prev;
@@ -72,15 +74,15 @@ static struct event_ops_list *event_backends;
 /*
   register an events backend
 */
-NTSTATUS event_register_backend(const char *name, const struct event_ops *ops)
+bool event_register_backend(const char *name, const struct event_ops *ops)
 {
        struct event_ops_list *e;
        e = talloc(talloc_autofree_context(), struct event_ops_list);
-       NT_STATUS_HAVE_NO_MEMORY(e);
+       if (e == NULL) return False;
        e->name = name;
        e->ops = ops;
        DLIST_ADD(event_backends, e);
-       return NT_STATUS_OK;
+       return True;
 }
 
 /*
@@ -88,12 +90,17 @@ NTSTATUS event_register_backend(const char *name, const struct event_ops *ops)
 */
 static void event_backend_init(void)
 {
+#if _SAMBA_BUILD_
        init_module_fn static_init[] = STATIC_LIBEVENTS_MODULES;
        init_module_fn *shared_init;
        if (event_backends) return;
        shared_init = load_samba_modules(NULL, "LIBEVENTS");
        run_init_functions(static_init);
        run_init_functions(shared_init);
+#else
+       bool events_standard_init(void);
+       events_standard_init();
+#endif
 }
 
 /*
index ddadedf6e3bb60d56b3c5081aaf949232a466c77..9f4e9c561240d561af10233f2a605863dd542ab1 100644 (file)
@@ -165,9 +165,9 @@ static void epoll_mod_event(struct aio_event_context *aio_ev, struct fd_event *f
 
 static void epoll_change_event(struct aio_event_context *aio_ev, struct fd_event *fde)
 {
-       BOOL got_error = (fde->additional_flags & EPOLL_ADDITIONAL_FD_FLAG_GOT_ERROR);
-       BOOL want_read = (fde->flags & EVENT_FD_READ);
-       BOOL want_write= (fde->flags & EVENT_FD_WRITE);
+       bool got_error = (fde->additional_flags & EPOLL_ADDITIONAL_FD_FLAG_GOT_ERROR);
+       bool want_read = (fde->flags & EVENT_FD_READ);
+       bool want_write= (fde->flags & EVENT_FD_WRITE);
 
        if (aio_ev->epoll_fd == -1) return;
 
@@ -512,7 +512,17 @@ static const struct event_ops aio_event_ops = {
        .loop_wait      = aio_event_loop_wait,
 };
 
-NTSTATUS events_aio_init(void)
+bool events_aio_init(void)
 {
        return event_register_backend("aio", &aio_event_ops);
 }
+
+#if _SAMBA_BUILD_
+NTSTATUS s4_events_aio_init(void)
+{
+       if (!events_aio_init()) {
+               return NT_STATUS_INTERNAL_ERROR;
+       }
+       return NT_STATUS_OK;
+}
+#endif
index 58eeb08cd50f7675ffdcf5cf5c1d68f71f805b51..41a6509e36f9430ce1067304713ecbfc68d7e111 100644 (file)
@@ -165,9 +165,9 @@ static void epoll_mod_event(struct epoll_event_context *epoll_ev, struct fd_even
 
 static void epoll_change_event(struct epoll_event_context *epoll_ev, struct fd_event *fde)
 {
-       BOOL got_error = (fde->additional_flags & EPOLL_ADDITIONAL_FD_FLAG_GOT_ERROR);
-       BOOL want_read = (fde->flags & EVENT_FD_READ);
-       BOOL want_write= (fde->flags & EVENT_FD_WRITE);
+       bool got_error = (fde->additional_flags & EPOLL_ADDITIONAL_FD_FLAG_GOT_ERROR);
+       bool want_read = (fde->flags & EVENT_FD_READ);
+       bool want_write= (fde->flags & EVENT_FD_WRITE);
 
        if (epoll_ev->epoll_fd == -1) return;
 
@@ -413,7 +413,17 @@ static const struct event_ops epoll_event_ops = {
        .loop_wait      = epoll_event_loop_wait,
 };
 
-NTSTATUS events_epoll_init(void)
+bool events_epoll_init(void)
 {
        return event_register_backend("epoll", &epoll_event_ops);
 }
+
+#if _SAMBA_BUILD_
+NTSTATUS s4_events_epoll_init(void)
+{
+       if (!events_epoll_init()) {
+               return NT_STATUS_INTERNAL_ERROR;
+       }
+       return NT_STATUS_OK;
+}
+#endif
index 39fade2fdbaa5225e916ed14280b8cedf2f9244d..04b92df550574a7d254c7e5f8be68f6bb5398b61 100644 (file)
@@ -113,7 +113,7 @@ struct event_context {
 };
 
 
-NTSTATUS event_register_backend(const char *name, const struct event_ops *ops);
+bool event_register_backend(const char *name, const struct event_ops *ops);
 
 struct timed_event *common_event_add_timed(struct event_context *, TALLOC_CTX *,
                                           struct timeval, event_timed_handler_t, void *);
index 36b5afc42e40859cb827ef80fc0990f8d7ca70cd..291ddbde2b0e2975b155aaebd4c93085acd12948 100644 (file)
@@ -291,7 +291,17 @@ static const struct event_ops select_event_ops = {
        .loop_wait      = select_event_loop_wait,
 };
 
-NTSTATUS events_select_init(void)
+bool events_select_init(void)
 {
        return event_register_backend("select", &select_event_ops);
 }
+
+#if _SAMBA_BUILD_
+NTSTATUS s4_events_select_init(void)
+{
+       if (!events_select_init()) {
+               return NT_STATUS_INTERNAL_ERROR;
+       }
+       return NT_STATUS_OK;
+}
+#endif
index 9a8ebea6ae6b5b2c2fdf3fe56015c3e3101e9164..2a75a0c0bdca32bf6d87a1070d15dcd3957f6c20 100644 (file)
@@ -23,6 +23,7 @@
 #include "includes.h"
 #include "system/filesys.h"
 #include "system/select.h"
+#include "system/wait.h"
 #include "lib/util/dlinklist.h"
 #include "lib/events/events.h"
 #include "lib/events/events_internal.h"
index 3b26b1073d8c184d1384b0472e9405db31668b92..8495ccdec0c256cd9649fa80dd2909495944aa9f 100644 (file)
@@ -180,9 +180,9 @@ static void epoll_mod_event(struct std_event_context *std_ev, struct fd_event *f
 
 static void epoll_change_event(struct std_event_context *std_ev, struct fd_event *fde)
 {
-       BOOL got_error = (fde->additional_flags & EPOLL_ADDITIONAL_FD_FLAG_GOT_ERROR);
-       BOOL want_read = (fde->flags & EVENT_FD_READ);
-       BOOL want_write= (fde->flags & EVENT_FD_WRITE);
+       bool got_error = (fde->additional_flags & EPOLL_ADDITIONAL_FD_FLAG_GOT_ERROR);
+       bool want_read = (fde->flags & EVENT_FD_READ);
+       bool want_write= (fde->flags & EVENT_FD_WRITE);
 
        if (std_ev->epoll_fd == -1) return;
 
@@ -549,7 +549,17 @@ static const struct event_ops std_event_ops = {
 };
 
 
-NTSTATUS events_standard_init(void)
+bool events_standard_init(void)
 {
        return event_register_backend("standard", &std_event_ops);
 }
+
+#if _SAMBA_BUILD_
+NTSTATUS s4_events_standard_init(void)
+{
+       if (!events_standard_init()) {
+               return NT_STATUS_INTERNAL_ERROR;
+       }
+       return NT_STATUS_OK;
+}
+#endif