[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

rtf handler problems



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());
}
-----------------