From 022e2f81991f12637ca0eeb3a030d4cec69d6fb9 Mon Sep 17 00:00:00 2001 From: Bo Yang Date: Mon, 5 Jan 2009 19:47:45 +0800 Subject: clean event context after child is forked. Signed-off-by: Stefan Metzmacher --- source3/include/proto.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'source3/include') diff --git a/source3/include/proto.h b/source3/include/proto.h index 6238ba3d00..a361c62f75 100644 --- a/source3/include/proto.h +++ b/source3/include/proto.h @@ -534,6 +534,7 @@ bool run_events(struct event_context *event_ctx, struct timeval *get_timed_events_timeout(struct event_context *event_ctx, struct timeval *to_ret); int event_loop_once(struct event_context *ev); +void event_context_reinit(struct event_context *ev); struct event_context *event_context_init(TALLOC_CTX *mem_ctx); int set_event_dispatch_time(struct event_context *event_ctx, const char *event_name, struct timeval when); @@ -1183,6 +1184,7 @@ int set_blocking(int fd, bool set); void smb_msleep(unsigned int t); void become_daemon(bool Fork, bool no_process_group); bool reinit_after_fork(struct messaging_context *msg_ctx, + struct event_context *ev_ctx, bool parent_longlived); bool yesno(const char *p); void *malloc_(size_t size); -- cgit From 077d5cff71bdb95f5829ae27309958e4661e4184 Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Sun, 4 Jan 2009 19:53:09 +0100 Subject: s3:events: remove unused stuff metze --- source3/include/proto.h | 1 - 1 file changed, 1 deletion(-) (limited to 'source3/include') diff --git a/source3/include/proto.h b/source3/include/proto.h index a361c62f75..f95038efc0 100644 --- a/source3/include/proto.h +++ b/source3/include/proto.h @@ -528,7 +528,6 @@ bool event_add_to_select_args(struct event_context *event_ctx, const struct timeval *now, fd_set *read_fds, fd_set *write_fds, struct timeval *timeout, int *maxfd); -bool events_pending(struct event_context *event_ctx); bool run_events(struct event_context *event_ctx, int selrtn, fd_set *read_fds, fd_set *write_fds); struct timeval *get_timed_events_timeout(struct event_context *event_ctx, -- cgit From ee5be748e64f6c8f4814ff322e38511a9a65f4fc Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Mon, 5 Jan 2009 09:06:05 +0100 Subject: s3:events: move prototypes to event.h metze --- source3/include/event.h | 44 ++++++++++++++++++++++++++++++++++++++++++++ source3/include/includes.h | 3 ++- source3/include/proto.h | 40 ---------------------------------------- source3/include/smb.h | 3 --- 4 files changed, 46 insertions(+), 44 deletions(-) (limited to 'source3/include') diff --git a/source3/include/event.h b/source3/include/event.h index 0465fae471..ebbf9c9f63 100644 --- a/source3/include/event.h +++ b/source3/include/event.h @@ -18,7 +18,51 @@ along with this program. If not, see . */ +struct event_context; +struct fd_event; +struct timed_event; + /* bits for file descriptor event flags */ #define EVENT_FD_READ 1 #define EVENT_FD_WRITE 2 +/* The following definitions come from lib/events.c */ + +struct timed_event *event_add_timed(struct event_context *event_ctx, + TALLOC_CTX *mem_ctx, + struct timeval when, + const char *event_name, + void (*handler)(struct event_context *event_ctx, + struct timed_event *te, + const struct timeval *now, + void *private_data), + void *private_data); +struct fd_event *event_add_fd(struct event_context *event_ctx, + TALLOC_CTX *mem_ctx, + int fd, uint16_t flags, + void (*handler)(struct event_context *event_ctx, + struct fd_event *event, + uint16 flags, + void *private_data), + void *private_data); +void event_fd_set_writeable(struct fd_event *fde); +void event_fd_set_not_writeable(struct fd_event *fde); +void event_fd_set_readable(struct fd_event *fde); +void event_fd_set_not_readable(struct fd_event *fde); +bool event_add_to_select_args(struct event_context *event_ctx, + const struct timeval *now, + fd_set *read_fds, fd_set *write_fds, + struct timeval *timeout, int *maxfd); +bool run_events(struct event_context *event_ctx, + int selrtn, fd_set *read_fds, fd_set *write_fds); +struct timeval *get_timed_events_timeout(struct event_context *event_ctx, + struct timeval *to_ret); +int event_loop_once(struct event_context *ev); +void event_context_reinit(struct event_context *ev); +struct event_context *event_context_init(TALLOC_CTX *mem_ctx); +int set_event_dispatch_time(struct event_context *event_ctx, + const char *event_name, struct timeval when); +int cancel_named_event(struct event_context *event_ctx, + const char *event_name); +void dump_event_list(struct event_context *event_ctx); + diff --git a/source3/include/includes.h b/source3/include/includes.h index 3f35602ba6..cae627f564 100644 --- a/source3/include/includes.h +++ b/source3/include/includes.h @@ -575,6 +575,8 @@ struct smb_iconv_convenience *lp_iconv_convenience(void *lp_ctx); #include "../talloc/talloc.h" +#include "event.h" + #include "../lib/util/data_blob.h" #include "../lib/util/time.h" #include "../lib/util/asn1.h" @@ -643,7 +645,6 @@ struct smb_iconv_convenience *lp_iconv_convenience(void *lp_ctx); #include "nsswitch/winbind_client.h" #include "spnego.h" #include "rpc_client.h" -#include "event.h" #include "dbwrap.h" #include "packet.h" #include "ctdbd_conn.h" diff --git a/source3/include/proto.h b/source3/include/proto.h index f95038efc0..cfac164789 100644 --- a/source3/include/proto.h +++ b/source3/include/proto.h @@ -501,46 +501,6 @@ void display_set_stderr(void); NTSTATUS map_nt_error_from_unix(int unix_error); int map_errno_from_nt_status(NTSTATUS status); -/* The following definitions come from lib/events.c */ - -struct timed_event *event_add_timed(struct event_context *event_ctx, - TALLOC_CTX *mem_ctx, - struct timeval when, - const char *event_name, - void (*handler)(struct event_context *event_ctx, - struct timed_event *te, - const struct timeval *now, - void *private_data), - void *private_data); -struct fd_event *event_add_fd(struct event_context *event_ctx, - TALLOC_CTX *mem_ctx, - int fd, uint16_t flags, - void (*handler)(struct event_context *event_ctx, - struct fd_event *event, - uint16 flags, - void *private_data), - void *private_data); -void event_fd_set_writeable(struct fd_event *fde); -void event_fd_set_not_writeable(struct fd_event *fde); -void event_fd_set_readable(struct fd_event *fde); -void event_fd_set_not_readable(struct fd_event *fde); -bool event_add_to_select_args(struct event_context *event_ctx, - const struct timeval *now, - fd_set *read_fds, fd_set *write_fds, - struct timeval *timeout, int *maxfd); -bool run_events(struct event_context *event_ctx, - int selrtn, fd_set *read_fds, fd_set *write_fds); -struct timeval *get_timed_events_timeout(struct event_context *event_ctx, - struct timeval *to_ret); -int event_loop_once(struct event_context *ev); -void event_context_reinit(struct event_context *ev); -struct event_context *event_context_init(TALLOC_CTX *mem_ctx); -int set_event_dispatch_time(struct event_context *event_ctx, - const char *event_name, struct timeval when); -int cancel_named_event(struct event_context *event_ctx, - const char *event_name); -void dump_event_list(struct event_context *event_ctx); - /* The following definitions come from lib/fault.c */ void fault_setup(void (*fn)(void *)); void dump_core_setup(const char *progname); diff --git a/source3/include/smb.h b/source3/include/smb.h index 7fd4fbb553..9f6a6f02d7 100644 --- a/source3/include/smb.h +++ b/source3/include/smb.h @@ -361,9 +361,6 @@ struct fd_handle { unsigned long gen_id; }; -struct event_context; -struct fd_event; -struct timed_event; struct idle_event; struct share_mode_entry; struct uuid; -- cgit From c34d5f445aae8180650dd2cae994bd5573870c04 Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Mon, 5 Jan 2009 10:22:50 +0100 Subject: s3:events: change event_add_timed() prototype to match samba4 metze --- source3/include/event.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'source3/include') diff --git a/source3/include/event.h b/source3/include/event.h index ebbf9c9f63..5d8d294c00 100644 --- a/source3/include/event.h +++ b/source3/include/event.h @@ -28,15 +28,17 @@ struct timed_event; /* The following definitions come from lib/events.c */ -struct timed_event *event_add_timed(struct event_context *event_ctx, +struct timed_event *_event_add_timed(struct event_context *event_ctx, TALLOC_CTX *mem_ctx, struct timeval when, const char *event_name, void (*handler)(struct event_context *event_ctx, struct timed_event *te, - const struct timeval *now, + struct timeval now, void *private_data), void *private_data); +#define event_add_timed(event_ctx, mem_ctx, when, handler, private_data) \ + _event_add_timed(event_ctx, mem_ctx, when, #handler, handler, private_data) struct fd_event *event_add_fd(struct event_context *event_ctx, TALLOC_CTX *mem_ctx, int fd, uint16_t flags, -- cgit From f1aa4457c3dd0c3d6654482ff0dc0b3105a9cc35 Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Tue, 30 Dec 2008 09:19:27 +0100 Subject: s3:events: get rid of the stupid cancel_named_event() function metze --- source3/include/event.h | 2 -- 1 file changed, 2 deletions(-) (limited to 'source3/include') diff --git a/source3/include/event.h b/source3/include/event.h index 5d8d294c00..2ede1d89d3 100644 --- a/source3/include/event.h +++ b/source3/include/event.h @@ -64,7 +64,5 @@ void event_context_reinit(struct event_context *ev); struct event_context *event_context_init(TALLOC_CTX *mem_ctx); int set_event_dispatch_time(struct event_context *event_ctx, const char *event_name, struct timeval when); -int cancel_named_event(struct event_context *event_ctx, - const char *event_name); void dump_event_list(struct event_context *event_ctx); -- cgit From 83ff9d3bcd5cfe9d060a8b1f0695e5b66be47efd Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Tue, 30 Dec 2008 10:00:43 +0100 Subject: s3:events: get rid of the stupid set_event_dispatch_time() function metze --- source3/include/event.h | 2 -- 1 file changed, 2 deletions(-) (limited to 'source3/include') diff --git a/source3/include/event.h b/source3/include/event.h index 2ede1d89d3..3d40000cb8 100644 --- a/source3/include/event.h +++ b/source3/include/event.h @@ -62,7 +62,5 @@ struct timeval *get_timed_events_timeout(struct event_context *event_ctx, int event_loop_once(struct event_context *ev); void event_context_reinit(struct event_context *ev); struct event_context *event_context_init(TALLOC_CTX *mem_ctx); -int set_event_dispatch_time(struct event_context *event_ctx, - const char *event_name, struct timeval when); void dump_event_list(struct event_context *event_ctx); -- cgit From 303c57ef785a6189b16d879cf719998f17ab097a Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Sun, 4 Jan 2009 19:29:12 +0100 Subject: s3:events: register as tevent backend metze --- source3/include/event.h | 32 +++++--------------------------- 1 file changed, 5 insertions(+), 27 deletions(-) (limited to 'source3/include') diff --git a/source3/include/event.h b/source3/include/event.h index 3d40000cb8..93112a86fa 100644 --- a/source3/include/event.h +++ b/source3/include/event.h @@ -18,35 +18,14 @@ along with this program. If not, see . */ -struct event_context; -struct fd_event; -struct timed_event; +#define TEVENT_COMPAT_DEFINES +#include -/* bits for file descriptor event flags */ -#define EVENT_FD_READ 1 -#define EVENT_FD_WRITE 2 +#undef event_context_init +#define event_context_init(mem_ctx) s3_tevent_context_init(mem_ctx) /* The following definitions come from lib/events.c */ -struct timed_event *_event_add_timed(struct event_context *event_ctx, - TALLOC_CTX *mem_ctx, - struct timeval when, - const char *event_name, - void (*handler)(struct event_context *event_ctx, - struct timed_event *te, - struct timeval now, - void *private_data), - void *private_data); -#define event_add_timed(event_ctx, mem_ctx, when, handler, private_data) \ - _event_add_timed(event_ctx, mem_ctx, when, #handler, handler, private_data) -struct fd_event *event_add_fd(struct event_context *event_ctx, - TALLOC_CTX *mem_ctx, - int fd, uint16_t flags, - void (*handler)(struct event_context *event_ctx, - struct fd_event *event, - uint16 flags, - void *private_data), - void *private_data); void event_fd_set_writeable(struct fd_event *fde); void event_fd_set_not_writeable(struct fd_event *fde); void event_fd_set_readable(struct fd_event *fde); @@ -59,8 +38,7 @@ bool run_events(struct event_context *event_ctx, int selrtn, fd_set *read_fds, fd_set *write_fds); struct timeval *get_timed_events_timeout(struct event_context *event_ctx, struct timeval *to_ret); -int event_loop_once(struct event_context *ev); void event_context_reinit(struct event_context *ev); -struct event_context *event_context_init(TALLOC_CTX *mem_ctx); void dump_event_list(struct event_context *event_ctx); +struct tevent_context *s3_tevent_context_init(TALLOC_CTX *mem_ctx); -- cgit