aboutsummaryrefslogtreecommitdiffstats
path: root/meta-networking/recipes-connectivity
diff options
context:
space:
mode:
authorSzombathelyi György <gyurco@freemail.hu>2017-03-05 21:15:11 +0100
committerJoe MacDonald <joe_macdonald@mentor.com>2017-03-24 14:10:17 -0400
commitde05464e965288c51eb7191d9e12a25b54287181 (patch)
treeb4b9edb458199cec1a4860a12165117bbd2825ea /meta-networking/recipes-connectivity
parent80fa973c078ccaa2a61f32bb04e6900355369b3b (diff)
downloadmeta-openembedded-contrib-de05464e965288c51eb7191d9e12a25b54287181.tar.gz
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@freemail.hu> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Joe MacDonald <joe_macdonald@mentor.com>
Diffstat (limited to 'meta-networking/recipes-connectivity')
-rw-r--r--meta-networking/recipes-connectivity/samba/samba-4.4.5/internal_tevent_to_0.9.31.patch92
-rw-r--r--meta-networking/recipes-connectivity/samba/samba_4.4.5.bb1
2 files changed, 93 insertions, 0 deletions
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 0000000000..bd4cd64079
--- /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 1d9ed7c845..d0235c1956 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 = " \