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

Popular posts from this blog

java - Run spring boot application error: Cannot instantiate interface org.springframework.context.ApplicationListener -

python - pip wont install .WHL files -

Excel VBA "Microsoft Windows Common Controls 6.0 (SP6)" Location Changes -