Hello,

what's wrong with the following code. If I do a read op on user space the
handler isn't called. If I read the man page right, the installed handler is
called on all ops regardless read/write.

 # uname -a
Linux rtreg 2.2.17-rtl3b9 #2 Thu Dec 7 10:25:11 CET 2000 i686 unknown                  
                                   

Thanks,
Olaf

--------------------------------------------
#define RTF     0

size_t number(void) { return RTF; }

int rtfHandler(size_t fifo)
{
    size_t sz;
    const char *msg = "Hallo World\n";
    DBG("notify Rtf%d\n", fifo);
    sz = strlen(msg);
    rtf_put(number(), &sz, sizeof(sz));
    rtf_put(number(), (void*)msg, sz);
    return 0;
}

int init_module(void)
{       
    int ret;
    size_t sz = 4000;
    (void)rtf_destroy(number());
    if((ret = rtf_create(number(), sz)) < 0) {
        ERROR("Error opening RTF%d\n", number());
        return -1;
    }
    if((ret = rtf_create_handler(number(), &rtfHandler)) < 0) {
        ERROR("Error installing handler on RTF%d\n", number());
        (void)rtf_destroy(number());
        return -1;

    }
    return 0;
}


void cleanup_module(void)
{
    (void)rtf_destroy(number());
}
-----------------

Reply via email to