Ano. Zaregistrujte svůj obslužný program signálu pomocí sigaction
s SA_SIGINFO
příznak, vyplňte sa_sigaction
pole. Nyní vaše funkce obslužného programu trvá siginfo_t*
parametr, který obsahuje pole si_pid
.
Všimněte si, že si_pid
se nastavuje pouze za určitých okolností. Ve vašem případě budete chtít zkontrolovat, zda je si_code
je nastaven na SI_USER
nebo SI_QUEUE
. Přečtěte si man 2 sigaction
pro více.
Ano, pokud používáte sigaction()
zavolejte, abyste nastavili obsluhu signálu namísto signal
. Pokud tak učiníte, umožní vám nastavit obsluhu signálu, která přebírá tři parametry:
int
, pro číslo signálu (stejně jakosignal
)- A
siginfo_t *
, což je struktura obsahující nejrůznější informace o zdroji signálu, případně včetně pid odesílatele. (Zahrnuje také některé informace o příčině signálu pro automatické signály jakoSIGSEGV
.) - A
ucontext_t *
, což souvisí s tím, které vlákno dostalo signál. Většinou ignorovatelné.
jak vynutit přijetí pouze připojení SSL ve vsftpd?
Kompilace Gcc nemůže vypočítat příponu objektových souborů:nelze kompilovat