1

我正在尝试制作一个需要为使用它的应用程序提供 select() 功能的字符驱动程序。据我所知,它是用 poll() 实现的。但我不能去这样做。有什么办法我可以做到这一点?这是我的应用程序。

int main()
{
    int fd;
    fd_set fdset;
    struct pollfd ufds;
    struct timeval time;
    time.tv_sec = 2;
    fd = open("/dev/char_dev" , O_RDWR );

    ufds.fd = fd;
    ufds.events = POLLIN | POLLPRI;

    FD_ZERO( &fdset );
    FD_SET( fd , &fdset );

    //poll(&ufds, 1, 3500);

    select( 1, &fdset,  NULL, NULL,&time );


    return 0;
}

这是我的内核模块的一部分。我只是想在 dmesg 中看到这条消息

unsigned int dc_poll( struct file *filp,  poll_table *wait )
{
    printk("*****select\n");
    return 0;
}
4

0 回答 0