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