]> git.sesse.net Git - bcachefs-tools-debian/blobdiff - linux/kthread.c
Update bcachefs sources to 1b14994029 bcachefs: Fragmentation LRU
[bcachefs-tools-debian] / linux / kthread.c
index 65e824b4cc0843c36d0b905e7b9c266dabcb98d7..3c7bdb81dff57981a44ad8b1f42347892ef1b8c1 100644 (file)
@@ -71,8 +71,10 @@ struct task_struct *kthread_create(int (*thread_fn)(void *data),
        p->thread_fn    = thread_fn;
        p->thread_data  = thread_data;
        p->state        = TASK_UNINTERRUPTIBLE;
+       p->signal       = &p->_signal;
        atomic_set(&p->usage, 1);
        init_completion(&p->exited);
+       init_rwsem(&p->_signal.exec_update_lock);
 
        pthread_attr_t attr;
        pthread_attr_init(&attr);
@@ -80,7 +82,7 @@ struct task_struct *kthread_create(int (*thread_fn)(void *data),
 
        ret = pthread_create(&p->thread, &attr, kthread_start_fn, p);
        if (ret)
-               die("pthread_create error %s", strerror(ret));
+               return ERR_PTR(-ret);
        pthread_setname_np(p->thread, p->comm);
        return p;
 }