linxu 线程创建

例1:

static struct task_struct *pmic_thread_handle = NULL;

pmic_thread_handle = kthread_create(pmic_thread_kthread, (void *) NULL, "pmic_thread_kthread");

 if (IS_ERR(pmic_thread_handle)) 
 {
        pmic_thread_handle = NULL;
        xlog_printk(ANDROID_LOG_INFO, "Power/PMIC", "[pmic_thread_kthread] creation fails\n");        
  }
  else
  {
        wake_up_process(pmic_thread_handle);
        xlog_printk(ANDROID_LOG_INFO, "Power/PMIC", "[pmic_thread_kthread] kthread_create Done\n");
  }

static int pmic_thread_kthread(void *x)

{

. . . . . . 

struct sched_param param = { .sched_priority = 98 };

 sched_setscheduler(current, SCHED_FIFO, &param);
    set_current_state(TASK_INTERRUPTIBLE);

while(1)

{

........

set_current_state(TASK_INTERRUPTIBLE);

    schedule();

}

}

void mt6323_pmic_eint_irq(void)
{
  . . . . . .
    wake_up_pmic();
    return ;
}

void wake_up_pmic(void)
{
  . . . . . .
      wake_up_process(pmic_thread_handle);
}


例2:

kthread_run(bat_thread_kthread, NULL, "bat_thread_kthread");

int bat_thread_kthread(void *x)

{

. . . . . .

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值