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

bug in rtf handler ??



Hello,

the following installed rtf handler doesn't work on read ops from user space.
On write ops the handler is called. Refering to the man page, both should work.
My fault or a bug in rtf_fifo of 2.2.18-rtl3-final?

Regards
Olaf
-------------------------------
[...]
#define RTF	0
size_t number(void) { return RTF; }

int rtfHandler(size_t fifo) // never called on read ops from user mode
{
    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());
}