summaryrefslogtreecommitdiff
path: root/linux/kthread.c
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@gmail.com>2019-01-13 15:17:03 -0500
committerKent Overstreet <kent.overstreet@gmail.com>2019-01-13 15:17:03 -0500
commit1504d4c98a1633f692dfa043f2b2ce2c3b250218 (patch)
tree5d32634bb50e0d19a48c0be88902e9fbe8fbc3ac /linux/kthread.c
parent5f7dd4b4b25d542712078d769cf69e87bb5e152a (diff)
check for errors from pthread_create()
Diffstat (limited to 'linux/kthread.c')
-rw-r--r--linux/kthread.c5
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;
}