-----Original Message----- From: ffmpeg-devel <[email protected]> On Behalf Of [email protected] Sent: 2021年12月9日 9:20 To: [email protected] Cc: Limin Wang <[email protected]> Subject: [FFmpeg-devel] [PATCH 3/5] avfilter/dnn: fix the return value of async_thread_routine
From: Limin Wang <[email protected]> Signed-off-by: Limin Wang <[email protected]> --- libavfilter/dnn/dnn_backend_common.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/libavfilter/dnn/dnn_backend_common.c b/libavfilter/dnn/dnn_backend_common.c index 6a9c4cc..8c020e5 100644 --- a/libavfilter/dnn/dnn_backend_common.c +++ b/libavfilter/dnn/dnn_backend_common.c @@ -83,10 +83,13 @@ static void *async_thread_routine(void *args) void *request = async_module->args; if (async_module->start_inference(request) != DNN_SUCCESS) { - return DNN_ASYNC_FAIL; + pthread_exit((void*)DNN_ASYNC_FAIL); + return NULL; Could you share the reason for this change? From man pthread_exit: Performing a return from the start function of any thread other than the main thread results in an implicit call to pthread_exit(), using the function's return value as the thread's exit status. } async_module->callback(request); - return DNN_ASYNC_SUCCESS; + + pthread_exit((void*)DNN_ASYNC_SUCCESS); + return NULL; } DNNReturnType ff_dnn_async_module_cleanup(DNNAsyncExecModule *async_module) -- 1.8.3.1 _______________________________________________ ffmpeg-devel mailing list [email protected] https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email [email protected] with subject "unsubscribe". _______________________________________________ ffmpeg-devel mailing list [email protected] https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email [email protected] with subject "unsubscribe".
