pthread_kill is supported on more platforms. For example, android's
bionic libc does not have pthread_cancel. Since pthread_setcancelstate()
is not used in erofs-utils workqueue code, pthread_cancel has identical
behavior to pthread_kill, this switch should be safe.

Signed-off-by: Kelvin Zhang <zhangkel...@google.com>
---
 lib/workqueue.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/workqueue.c b/lib/workqueue.c
index 47cec9b..3b63463 100644
--- a/lib/workqueue.c
+++ b/lib/workqueue.c
@@ -69,7 +69,7 @@ int erofs_alloc_workqueue(struct erofs_workqueue *wq, 
unsigned int nworker,
                ret = pthread_create(&wq->workers[i], NULL, worker_thread, wq);
                if (ret) {
                        while (i)
-                               pthread_cancel(wq->workers[--i]);
+                               pthread_kill(wq->workers[--i]);
                        free(wq->workers);
                        return ret;
                }
-- 
2.46.1.824.gd892dcdcdd-goog

Reply via email to