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í
POUŽITͶ
#include <signal.h>
int siginterrupt(int sig, int flag);
Požaduje množinu testovacích maker pro glibc (viz
feature_test_macros(7)):
siginterrupt():
|| /* Since glibc 2.12: */ _POSIX_C_SOURCE >= 200809L
|| /* Glibc versions <= 2.19: */ _BSD_SOURCE
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í.
Je-li parametr flag 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 errno bude nastavena na EINTR.
Je-li parametr flag 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É HODNOTY¶
The siginterrupt() function returns 0 on success. It returns -1 if the signal number sig is invalid, with errno set to indicate the cause of the error.
CHYBOVÉ STAVY¶
- EINVAL
- Zadané číslo signálu je neplatné.
ATRIBUTY¶
Vysvětlení pojmů použitých v této části viz attributes(7).
Rozhraní | Atribut | Hodnota |
siginterrupt() | Thread safety | MT-Unsafe const:sigintr |
SPLŇUJE STANDARDY¶
4.3BSD, POSIX.1-2001. POSIX.1-2008 marks siginterrupt() as obsolete, recommending the use of sigaction(2) with the SA_RESTART flag instead.
DALŠÍ INFORMACE¶
TIRÁŽ¶
Tato stránka je součástí projektu Linux man-pages v4.16. Popis projektu a informace o hlášení chyb najdete na https://www.kernel.org/doc/man-pages/.
PŘEKLAD¶
Překlad této příručky do španělštiny vytvořili Marek Kubita <Kubitovi@mbox.lantanet.cz> a Pavel Heimlich <tropikhajma@gmail.com>
Tento překlad je bezplatná dokumentace; Přečtěte si GNU General Public License Version 3 nebo novější ohledně podmínek autorských práv. Neexistuje ŽÁDNÁ ODPOVĚDNOST.
Pokud narazíte na nějaké chyby v překladu této příručky, pošlete e-mail na adresu translation-team-cs@lists.sourceforge.net.
15. března 2016 |