passing signals from linux driver to user application -
my question regarding use of send_sig_info , sigaction functions in order pass signal driver user application signalling interrupt. code below:
//in driver's interrupt handler function ret = send_sig_info(signal_number, &info, t); //in user application struct sigaction sig; sig.sa_sigaction = read_proc; sig.sa_flags = sa_siginfo; sigaction(signal_number, &sig, null); where read_proc handler function user application. trying modify code incase of multiple interrupts different signal number sent user application corresponding handler called below:
//in driver handler 1 info.si_int =info.si_int+1; //set appropriate signal number info.si_signo = signal_number; ret = send_sig_info(signal_number, &info, t); //in drivers handler 2 info.si_int =info.si_int+1; //set appropriate signal number info.si_signo = signal_number2; ret = send_sig_info(signal_number2, &info, t); and on user application side
struct sigaction sig; sig.sa_sigaction = read_proc; sig.sa_flags = sa_siginfo; sigaction(signal_number, &sig, null); //sigaction other buffers struct sigaction sig2; sig.sa_sigaction = read_proc2; sig.sa_flags = sa_siginfo; sigaction(signal_number2, &sig2, null); however in case function read_proc2 not called. can suggest proper solution different function called on user app side according different si_signo?
regards,
Comments
Post a Comment