[oe-commits] [meta-openembedded] 07/19: samba: update tevent_internal.h

git at git.openembedded.org git at git.openembedded.org
Fri Mar 24 20:42:57 UTC 2017


This is an automated email from the git hooks/post-receive script.

joe_macdonald pushed a commit to branch master
in repository meta-openembedded.

commit de05464e965288c51eb7191d9e12a25b54287181
Author: Szombathelyi György <gyurco at freemail.hu>
AuthorDate: Sun Mar 5 21:15:11 2017 +0100

    samba: update tevent_internal.h
    
    Update the tevent_internal.h file to the same version
    as the current OpenEmbedded recipe version, otherwise
    nmbd will segfault immediately at start, and strange
    crashes occurs with smbd. Samba uses this internal
    libtevent header file, and it is crucial to match
    this file to the external libtevent.
    
    Signed-off-by: Gyorgy Szombathelyi <gyurco at freemail.hu>
    Signed-off-by: Martin Jansa <Martin.Jansa at gmail.com>
    Signed-off-by: Joe MacDonald <joe_macdonald at mentor.com>
---
 .../samba-4.4.5/internal_tevent_to_0.9.31.patch    | 92 ++++++++++++++++++++++
 .../recipes-connectivity/samba/samba_4.4.5.bb      |  1 +
 2 files changed, 93 insertions(+)

diff --git a/meta-networking/recipes-connectivity/samba/samba-4.4.5/internal_tevent_to_0.9.31.patch b/meta-networking/recipes-connectivity/samba/samba-4.4.5/internal_tevent_to_0.9.31.patch
new file mode 100644
index 0000000..bd4cd64
--- /dev/null
+++ b/meta-networking/recipes-connectivity/samba/samba-4.4.5/internal_tevent_to_0.9.31.patch
@@ -0,0 +1,92 @@
+--- samba-4.4.5.orig/lib/tevent/tevent_internal.h	2016-01-26 12:45:46.000000000 +0100
++++ samba-4.4.5/lib/tevent/tevent_internal.h	2016-10-07 06:45:35.000000000 +0200
+@@ -228,6 +228,16 @@
+ 	void *additional_data;
+ };
+ 
++struct tevent_threaded_context {
++	struct tevent_threaded_context *next, *prev;
++
++#ifdef HAVE_PTHREAD
++	pthread_mutex_t event_ctx_mutex;
++#endif
++	struct tevent_context *event_ctx;
++	int wakeup_fd;
++};
++
+ struct tevent_debug_ops {
+ 	void (*debug)(void *context, enum tevent_debug_level level,
+ 		      const char *fmt, va_list ap) PRINTF_ATTRIBUTE(3,0);
+@@ -241,24 +251,41 @@
+ 	/* the specific events implementation */
+ 	const struct tevent_ops *ops;
+ 
++	/*
++	 * The following three pointers are queried on every loop_once
++	 * in the order in which they appear here. Not measured, but
++	 * hopefully putting them at the top together with "ops"
++	 * should make tevent a *bit* more cache-friendly than before.
++	 */
++
++	/* list of signal events - used by common code */
++	struct tevent_signal *signal_events;
++
++	/* List of threaded job indicators */
++	struct tevent_threaded_context *threaded_contexts;
++
++	/* list of immediate events - used by common code */
++	struct tevent_immediate *immediate_events;
++
+ 	/* list of fd events - used by common code */
+ 	struct tevent_fd *fd_events;
+ 
+ 	/* list of timed events - used by common code */
+ 	struct tevent_timer *timer_events;
+ 
+-	/* list of immediate events - used by common code */
+-	struct tevent_immediate *immediate_events;
+-
+-	/* list of signal events - used by common code */
+-	struct tevent_signal *signal_events;
++	/* List of scheduled immediates */
++	pthread_mutex_t scheduled_mutex;
++	struct tevent_immediate *scheduled_immediates;
+ 
+ 	/* this is private for the events_ops implementation */
+ 	void *additional_data;
+ 
+ 	/* pipe hack used with signal handlers */
+-	struct tevent_fd *pipe_fde;
+-	int pipe_fds[2];
++	struct tevent_fd *wakeup_fde;
++	int wakeup_fd;		/* fd to write into */
++#ifndef HAVE_EVENT_FD
++	int wakeup_read_fd;
++#endif
+ 
+ 	/* debugging operations */
+ 	struct tevent_debug_ops debug_ops;
+@@ -282,6 +309,10 @@
+ 	 * tevent_common_add_timer_v2()
+ 	 */
+ 	struct tevent_timer *last_zero_timer;
++
++#ifdef HAVE_PTHREAD
++	struct tevent_context *prev, *next;
++#endif
+ };
+ 
+ const struct tevent_ops *tevent_find_ops_byname(const char *name);
+@@ -327,6 +358,12 @@
+ 				      const char *handler_name,
+ 				      const char *location);
+ bool tevent_common_loop_immediate(struct tevent_context *ev);
++void tevent_common_threaded_activate_immediate(struct tevent_context *ev);
++
++bool tevent_common_have_events(struct tevent_context *ev);
++int tevent_common_wakeup_init(struct tevent_context *ev);
++int tevent_common_wakeup_fd(int fd);
++int tevent_common_wakeup(struct tevent_context *ev);
+ 
+ struct tevent_signal *tevent_common_add_signal(struct tevent_context *ev,
+ 					       TALLOC_CTX *mem_ctx,
diff --git a/meta-networking/recipes-connectivity/samba/samba_4.4.5.bb b/meta-networking/recipes-connectivity/samba/samba_4.4.5.bb
index 1d9ed7c..d0235c1 100644
--- a/meta-networking/recipes-connectivity/samba/samba_4.4.5.bb
+++ b/meta-networking/recipes-connectivity/samba/samba_4.4.5.bb
@@ -19,6 +19,7 @@ SRC_URI = "${SAMBA_MIRROR}/stable/samba-${PV}.tar.gz \
            file://21-add-config-option-without-valgrind.patch \
            file://0001-packaging-Avoid-timeout-for-nmbd-if-started-offline-.patch \
            file://0006-avoid-using-colon-in-the-checking-msg.patch \
+           file://internal_tevent_to_0.9.31.patch \
            file://volatiles.03_samba \
           "
 SRC_URI_append_libc-musl = " \

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the Openembedded-commits mailing list