diff options
author | Kent Overstreet <kent.overstreet@gmail.com> | 2019-01-13 15:17:03 -0500 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@gmail.com> | 2019-01-13 15:17:03 -0500 |
commit | 1504d4c98a1633f692dfa043f2b2ce2c3b250218 (patch) | |
tree | 5d32634bb50e0d19a48c0be88902e9fbe8fbc3ac /linux | |
parent | 5f7dd4b4b25d542712078d769cf69e87bb5e152a (diff) |
check for errors from pthread_create()
Diffstat (limited to 'linux')
-rw-r--r-- | linux/kthread.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/linux/kthread.c b/linux/kthread.c index eef73fe8..eaab31db 100644 --- a/linux/kthread.c +++ b/linux/kthread.c @@ -57,6 +57,7 @@ struct task_struct *kthread_create(int (*thread_fn)(void *data), { va_list args; struct task_struct *p = malloc(sizeof(*p)); + int ret; memset(p, 0, sizeof(*p)); @@ -71,7 +72,9 @@ struct task_struct *kthread_create(int (*thread_fn)(void *data), atomic_set(&p->usage, 1); init_completion(&p->exited); - pthread_create(&p->thread, NULL, kthread_start_fn, p); + ret = pthread_create(&p->thread, NULL, kthread_start_fn, p); + if (ret) + die("pthread_create error %s", strerror(ret)); pthread_setname_np(p->thread, p->comm); return p; } |