table of contents
SIGINTERRUPT(3) | Linux - příručka Programátora | SIGINTERRUPT(3) |
JMÉNO¶
siginterrupt - dovoluje signálům přerušovat systémová volání
SYNTAXE¶
#include <signal.h> int siginterrupt(int sig, int flag);
Vyžaduje Feature Test Makro pro glibc (viz feature_test_macros(7)):
siginterrupt(): _BSD_SOURCE || _XOPEN_SOURCE >= 500
POPIS¶
Funkce siginterrupt() určuje, co se stane, je-li vstupně/výstupní systémové volání přerušeno signálem sig. Je-li parametr flag nulový, budou systémová volání při příchodu signálu sig restartována. Toto je v Linuxu standardní chování. Pokud je však funkcí signal(2) specifikována nová obslužná funkce signálu, je systémové volání signálem přerušeno.
Je-li parametr flags roven jedné a nebyla-li dosud přenesena žádná data, pak systémové volání přerušené signálem sig vrátí -1 a globální proměnná errno bude nastavena na EINTR.
Je-li parametr flags roven jedné a systémové volání je přerušeno ve stavu, kdy už byl zahájen přenos dat, bude systémové volání přerušeno a vrátí objem dosud přenesených dat.
NÁVRATOVÁ HODNOTA¶
Funkce siginterrupt() vrací při úspěchu nulu. Je-li zadán neplatný signál sig, vrací -1.
CHYBOVÉ HODNOTY¶
- EINVAL
- Zadané číslo signálu je neplatné.
SPLŇUJE STANDARDY¶
BSD 4.3, POSIX.1-2001. POSIX.1-2008 označil siginterrupt() za zastaralou funkci.
DALŠÍ INFORMACE¶
TIRÁŽ¶
Tato stránka je součástí projektu Linux man-pages. Popis projektu a informace o hlášení chyb najdete na http://www.kernel.org/doc/man-pages/.
9. října 2009 |