[alsa-devel] [PATCH 1/1] alsabat: add terminate status check for capture thread
han.lu at intel.com
han.lu at intel.com
Sun Apr 17 03:26:45 CEST 2016
From: "Lu, Han" <han.lu at intel.com>
In loopback test, alsabat use pthread_join(pthread_t thread, **retval)
to wait for the capture thread to terminate. If the capture thread was
canceled, PTHREAD_CANCELED is placed in *retval, and the access to the
**retval will fail. Add status check to prevent illegal access to the
**retval.
Signed-off-by: Lu, Han <han.lu at intel.com>
diff --git a/bat/bat.c b/bat/bat.c
index e824065..1afdcb4 100644
--- a/bat/bat.c
+++ b/bat/bat.c
@@ -192,6 +192,12 @@ static void test_loopback(struct bat *bat)
exit(EXIT_FAILURE);
}
+ /* check if capture thread is canceled or not */
+ if (thread_result_capture == PTHREAD_CANCELED) {
+ fprintf(bat->log, _("Capture canceled.\n"));
+ return;
+ }
+
/* check capture status */
if (*thread_result_capture != 0) {
fprintf(bat->err, _("Exit capture thread fail: %d\n"),
--
2.5.0
More information about the Alsa-devel
mailing list