|
在write里面
wait_event_interruptible(myspinlock, sleep_flag!=0);
在read里面
wake_up_interruptible(&memdev_queue);
sleep_flag = 1;
在Module insmod时初始化
init_waitqueue_head(&memdev_queue);
sleep_flag = 0;
应用程序是:
fwrite(Buf,sizeof(Buf),1,fp0);
fseek(fp0,0,0);
strcpy(Buf,"Buf is NULL!");
printf("BUF: %s\n",Buf);
fread(Buf,sizeof(Buf),1,fp0);
现在一运行程序就死机,不知道是什么原因。 |
|