Scroll to navigation

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

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

signal(2)

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