*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->OpenBSD man pages -> kthread_create_deferred (9)              
Title
Content
Arch
Section
 

KTHREAD(9)

Contents


NAME    [Toc]    [Back]

     kthread_create, kthread_exit, kthread_create_deferred - kernel threads

SYNOPSIS    [Toc]    [Back]

     #include <sys/kthread.h>

     int
     kthread_create(void  (*func)(void *), void *arg, struct proc
**newpp,
             const char *fmt, ...);

     void
     kthread_exit(int ecode);

     void
     kthread_create_deferred(void (*func)(void *), void *arg);

DESCRIPTION    [Toc]    [Back]

     Kernel threads are  system  light-weight  processes:  cloned
from process 0
     (the swapper), sharing its memory map and limits, but with a
copy of its
     file descriptor table.  They  don't  receive  broadcast  nor
group signals
     and they can't be swapped.

     Any  process  can  call  kthread_create() to create a kernel
thread.  The new
     process starts up executing  func  with  argument  arg.   If
newpp is not
     NULL, it is filled with the address of the new process.  fmt
and the remaining
 arguments are used to name the process.

     A kernel thread will terminate  by  calling  kthread_exit(),
with exit code
     ecode.

     Since  the  system has to be up and running for creating new
processes, device
 drivers that want to create kernel threads early (e.g.,
at attach
     time) may use kthread_create_deferred() instead.  The system
will call
     back the function func with argument arg when it can  create
threads, so
     it is up to func to call kthread_create() at that point.

RETURN VALUES    [Toc]    [Back]

     Upon  successful  completion,  kthread_create()  returns  0.
Otherwise, the
     following error values are returned:

     [EAGAIN]  The limit on the total number of system  processes
would be exceeded.

SEE ALSO    [Toc]    [Back]

      
      
     fork1(9)

BUGS    [Toc]    [Back]

     There  is currently no way to use ecode to any sensible purpose from
     kthread_exit().

OpenBSD     3.6                        September     1,      1999
[ Back ]
 Similar pages
Name OS Title
ithread_priority FreeBSD kernel interrupt threads
ithread FreeBSD kernel interrupt threads
ithread_create FreeBSD kernel interrupt threads
ithread_destroy FreeBSD kernel interrupt threads
ithread_schedule FreeBSD kernel interrupt threads
ithread_remove_handler FreeBSD kernel interrupt threads
ithread_add_handler FreeBSD kernel interrupt threads
kse_release FreeBSD kernel support for user threads
kse_exit FreeBSD kernel support for user threads
kse_create FreeBSD kernel support for user threads
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service