--- John Baldwin <[EMAIL PROTECTED]> wrote:
> > > > the man page discussed the swi_add() and > swi_sched() > > functions. > > > > what i don't understand is, how do i register my > > handler > > function ?? > > if i use the swi_add() for that purpose what > > do i use for the void *arg argument. > > > > and how can i dispatch control to the software > > interrupt handler ?? > > the swi_sched() uses only the cookie and the flags > > arguments. > > there is no way i can pass arguments to my handler > > function .. > > > > i guess most of you are familiar with this and can > > help me > > out ...... > > Queue a task to a taskqueue. Behind the scenes that > will invoke a swi_add if > you use the taskqueue_swi queue. However, given > that you want to do some > rather complicated work, you'd be better off > creating a dedicated taskqueue > thread and queueing tasks off to it I think. thanks for the suggestion on the taskqueue. i tried it on a dummy kernel module and got some output, but i don't know if they were correct or not. i would like to know if i followed the right steps. here is the code i used :: struct taskqueue_arguments { int a; int b; }; void taskqueue_function(void *,int); typedef void taskqueue_function_t(void *,int); /* taskqueue function */ void taskqueue_function(void *arguments,int int_arg) { struct taskqueue_arguments *arg; arg=(struct taskqueue_arguments *)arguments; printf("\ntakqueue_function was called the args are %d %d",arg->a,arg->b); return; } __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com _______________________________________________ freebsd-hackers@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-hackers To unsubscribe, send any mail to "[EMAIL PROTECTED]"