From: Yongjoo Ahn Date: Tue, 16 Apr 2024 08:59:59 +0000 (+0900) Subject: [common] Let edge wait listener thread to be started. X-Git-Tag: accepted/tizen/8.0/unified/20240424.115823^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=d17e09f097a3964e114da7768558c02df420a1b1;p=platform%2Fupstream%2Fnnstreamer-edge.git [common] Let edge wait listener thread to be started. - Let the edge wait listener_thread to be properly started. - This fix occasional hangs when nns_edge_release_handle called. Signed-off-by: Yongjoo Ahn --- diff --git a/src/libnnstreamer-edge/nnstreamer-edge-internal.c b/src/libnnstreamer-edge/nnstreamer-edge-internal.c index c1b892b..7760dd2 100644 --- a/src/libnnstreamer-edge/nnstreamer-edge-internal.c +++ b/src/libnnstreamer-edge/nnstreamer-edge-internal.c @@ -1165,7 +1165,11 @@ _nns_edge_socket_listener_thread (void *thread_data) { nns_edge_handle_s *eh = (nns_edge_handle_s *) thread_data; + nns_edge_lock (eh); eh->listening = true; + nns_edge_cond_signal (eh); + nns_edge_unlock (eh); + while (eh->listening) { struct pollfd poll_fd; @@ -1235,6 +1239,9 @@ _nns_edge_create_socket_listener (nns_edge_handle_s * eh) goto error; } + /* Wait for the listener thread to be started */ + nns_edge_cond_wait (eh); + done = true; error: