Frederic MANTEGAZZA wrote:
> J'ai un process qui a une routine d'interception repondant a un certain
> signal.
>
> Lorsque ce signal arrive (en provenance d'un autre process), existe-t-il
> un moyen pour retrouver le Pid du process l'ayant emis ?
SalutApparemment, il faut utiliser sigaction() pour specifier le handler
appele lors de la reception de ce signal. On passe a sigaction une
structure sigaction qui contient (entre autres) un champ sa_flags. Il faut
donner la valeur SA_SIGINFO a ce champ. A ce moment la, le handler recevra
2 arguments supplementaires, dont le premier est un pointeur sur une
structure siginfo , qui contient un champ si_pid (de type pid_t) qui est le
"sending process ID".
Ceci est specifique SVR4, et le sigaction() de linux est cense se conformer
a SVR4... Par contre j'ai pas reussi a trouver (par grep) le define de
SA_SIGINFO dans /usr/include/signal.h , inquietant...
Je tire ca de "Advanced programming in Unix environment" de W. R. Stevens
(Addison Wesley).
Je serais interesse de savoir si ca marche...
Good luck
--
Francois CAU
Francois.Cau@??? //// THOMSON multimedia
francois.cau@??? (@ @) Grenoble, FRANCE
------------------------oOO--(_)--OOo------------------------