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í

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():

_XOPEN_SOURCE >= 500
|| /* 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

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

signal(2)

TIRÁŽ

Tato stránka je součástí projektu Linux man-pages v5.10. 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