diff options
Diffstat (limited to 'share')
-rw-r--r-- | share/man/man9/kthread.9 | 40 |
1 files changed, 16 insertions, 24 deletions
diff --git a/share/man/man9/kthread.9 b/share/man/man9/kthread.9 index 148a34e..29d678c 100644 --- a/share/man/man9/kthread.9 +++ b/share/man/man9/kthread.9 @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd October 26, 2007 +.Dd January 26, 2009 .Dt KTHREAD 9 .Os .Sh NAME @@ -43,12 +43,6 @@ .Fn kthread_start "const void *udata" .Ft void .Fn kthread_shutdown "void *arg" "int howto" -.Ft int -.Fo kthread_add -.Fa "void (*func)(void *)" "void *arg" "struct proc *procp" -.Fa "struct thread **newtdpp" "int flags" "int pages" -.Fa "const char *fmt" ... -.Fc .Ft void .Fn kthread_exit "void" .Ft int @@ -57,6 +51,13 @@ .Fn kthread_suspend "struct thread *td" "int timo" .Ft void .Fn kthread_suspend_check "struct thread *td" +.In sys/unistd.h +.Ft int +.Fo kthread_add +.Fa "void (*func)(void *)" "void *arg" "struct proc *procp" +.Fa "struct thread **newtdpp" "int flags" "int pages" +.Fa "const char *fmt" ... +.Fc .Ft int .Fo kproc_kthread_add .Fa "void (*func)(void *)" "void *arg" @@ -142,8 +143,12 @@ If this argument is then it is ignored. The .Fa flags -argument specifies a set of flags as described in -.Xr rfork 2 . +argument may be set to +.Dv RFSTOPPED +to leave the thread in a stopped state. +The caller must call +.Fn sched_add +to start the thread. The .Fa pages argument specifies the size of the new kernel thread's stack in pages. @@ -274,23 +279,10 @@ The .Fn kthread_add function will fail if: .Bl -tag -width Er -.It Bq Er EAGAIN -The system-imposed limit on the total -number of processes under execution would be exceeded. -The limit is given by the -.Xr sysctl 3 -MIB variable -.Dv KERN_MAXPROC . -.It Bq Er EINVAL -The -.Dv RFCFDG -flag was specified in the -.Fa flags -parameter. +.It Bq Er ENOMEM +Memory for a thread's stack could not be allocated. .El .Sh SEE ALSO -.Xr rfork 2 , -.Xr exit1 9 , .Xr kproc 9 , .Xr SYSINIT 9 , .Xr wakeup 9 |