  ,       events  
.      ,   
    .      
 .

,          -
.  ,       
schedule_delayed_work ()      ,   
   flush_scheduled_work ().    
    

int cancel delayed work(struct work struct *work);

    ,     -
 work_struct,   .

    

       , -
   ,        -
  .         
 ,      ,  
       .

           
  .

struct workqueue_struct *create_workqueue(const char *name);

 name   ,     .
,  events,    ,   -
  .

struct workqueue struct *keventd wq = create workqueue("events");

       (    ),
    .

    ,   
.     ,    , -
  schedule_work()  schedule_delayed_work(),  -
 ,      ,    , -
  .

int queue work(struct workqueue_struct *wq, struct work struct *work) ;

int queue delayed work(struct workqueue struct *wq,

struct work_struct *work, unsigned long delay);

 ,         -
   

flush_workqueue(struct workqueue_struct *wq) ;

       flush_scheduled_work () , 
 ,   ,   ,   
  .

156  7