Odchyceni signalu

Cejka Rudolf cejkar na dcse.fee.vutbr.cz
Pondělí Říjen 2 16:30:39 CEST 2000


Petr Novotny <Petr.Novotny na antek.cz> wrote:
>> netusi tu nekdo, jak odchytit v aplikaci signal, ktery ji nekdo poslal
>> (v C) ? Napr. SIGPIPE ? Zaboha to nemuzu najit :(((

> Pro zacatek zkuste manpages signal(2), signal(7). Dal se muzete 
> podivat treba na sigaction(2) a jemu podobne.

Prave naopak: Pro zacatek zkuste sigaction() a u tohoto interface
take skoncete. Na signal() se mozna podivejte pro zajimavost, ale
zasadne tuto funkci nepouzivejte, protoze neni prenositelna.

Bohuzel spravna prace se signaly je velmi obtizna. Pokud ma program
po obsluze pokracovat v cinnosti, nesmi se zapominat na reentrantnost
funkci (tj. uvedeny priklad byl myslim spatne uz jen vuci volani printf()),
na prichod signalu ve spatnou dobu, na vicenasobny vyskyt signalu atd.
Proto je potreba nejdrive venovat hodne casu studiu - bud precist
manualove stranky (nejlepe na nekolika OS a musite _vsechno_ pochopit),
nebo precist nejakou moc dobrou knihu, nebo si popovidat s nekym
zkusenejsim, ale stejne bych mu neveril.

-- 
Rudolf Cejka   (cejkar na dcse.fee.vutbr.cz;  http://www.fee.vutbr.cz/~cejkar)
Brno University of Technology, Faculty of El. Engineering and Comp. Science
Bozetechova 2, 612 66  Brno, Czech Republic


Další informace o konferenci Linux