diff -ur man-pages-cs-0.18.20090209-orig/man-pages/man2/connect.2 man-pages-cs-0.18.20090209/man-pages/man2/connect.2 --- man-pages-cs-0.18.20090209-orig/man-pages/man2/connect.2 1999-05-31 19:28:27.000000000 +0200 +++ man-pages-cs-0.18.20090209/man-pages/man2/connect.2 2009-09-29 13:04:54.000000000 +0200 @@ -1,44 +1,86 @@ -.TH CONNECT 2 "5. dubna 1997" "Linux 0.99.11" "Linux - příručka programátora" +.\" Aktualizováno podle man-pages-3.09-2 z distribuce Fedora 10 +.TH CONNECT 2 "25. září 2009" "Linux 0.99.11" "Linux - příručka programátora" .do hla cs .do hpf hyphen.cs .SH JMÉNO connect \- inicializuj spojení soketu .SH SYNTAXE -.B #include +.B #include /* Viz POZNÁMKY*/ .br .B #include .sp -.BI "int connect(int " sockfd ", struct sockaddr *" serv_addr ", int -.BI " addrlen ); +.BI "int connect(int " sockfd ", struct struct sockaddr *" serv_addr ", socklen_t " addrlen ); .SH POPIS +Systémové volání \fBconnect\fP() připojí soket specifikovaný v \fIsockfd\fP k adrese +specifikované v \fIserv_addr\fP. Parametr \fIaddrlen\fP udává velikost \fIserv_addr\fP. +Formát adresy v \fIserv_addr\fP je dán adresovým prostorem deskriptoru v \fIsockfd\fP. +Viz \fBsocket\fP(2) pro více detailů. + Parametr .I sockfd je soket. Je-li jeho typ .BR SOCK_DGRAM , -potom toto volání specifikuje, kam má tento soket standardně posílat data. -Tato adresa je jediným místem, odkud a kam budou přijímány, resp. posílány +pak je \fIserv_addr\fP jediným místem, odkud a kam budou přijímány, resp. posílány datagramy. Je-li typ soketu -.B SOCK_STREAM , -potom se toto volání pokusí navázat spojení s jiným soketem, který je +.B SOCK_STREAM +, nebo +.B SOCK_SEQPACKET +potom se toto volání pokusí navázat spojení se soketem, který je specifikován v -.BR serv_addr , +.I serv_addr , což je adresa v jmenném prostoru soketu. Každý jmenný prostor interpretuje -adresu v -.BR serv_addr -podle svého. Obvykle se mohou proudové sokety spojit +adresu v +.BR serv_addr. + +Obecně se mohou protokolové sokety úspěšně spojit pouze jednou; datagramové sokety mohou použít volání .B connect vícekrát. Datagramové sokety mohou zrušit asociovaný soket tak, že se -pokusí spojit s nějakou neplatnou adresou (nebo s adesou NULL). +pokusí spojit s adresou z \fIsa_family\fP z \fIsockaddr\fP nastavenou +na \fBAF_UNSPEC\fP (podporováno od linuxového jádra 2.2). .SH NÁVRATOVÁ HODNOTA -Je-li spojení navázáno, je vrácena 0, jinak \-1 a externí proměnná +Je-li spojení navázáno, je vrácena 0, jinak \-1 a externí proměnná .I errno je příslušně nastavena. .SH CHYBY Tento seznam je pouze všeobecný. Mohou existovat další specifické chyby pro použitý jmenný prostor. .TP +.B EACCES +Pro sokety unixové domény, které jsou identifikovány jménem: je odmítnuto +zapisování do souboru specifikovaného soketem, nebo je odmítnuto právo +vyhledávat v adresářích specifikovaných cestou. (Viz \fBpath_resolution\fP(7).) +.TP +.B EACCES, EPERM +Uživatel se pokusil připojit k broadcastové adrese, aniž by měl povolen +broadcastový příznak na soketu, nebo požadavek na spojení byl odmítnut kvůli +lokálnímu pravidlu firewallu. +.TP +.B EAFNOSUPPORT +Poskytnutá adresa nemá správně specifikovanou rodinu adres v poli \fIsa_family\fp. +.TP +.B EAGAIN +Nejsou volné žádné lokální porty, nebo jsou nedostatečné záznamy v cache +směrovače. +Pro \fBAF_INET\fP viz \fPnet.ipv4.ip_local_port_range\fP v \fBip\fP(7) +,jak zvýšit počet lokálních portů. +.TP +.B EINPROGRESS +Soket je neblokující a spojení nemůže být okamžitě dokončeno. Viz \fBselect\fP(2) +nebo \fBpoll\fP(2). +.TP +.B ETIMEDOUT +Timeout při pokusu o navázání spojení. Server může být příliš zaneprázdněn +a není schopen přijmou další spojení. Vězte, že pro IP sokety může být timeout +velmi dlouhý, pokud jsou syncookies povoleny na straně serveru. +.TP +.B EINTR +Systémové volání bylo přerušeno doručením signálu. Viz \fBsignal\fP(7). +.TP +.B EALREADY +Soket je neblokující a předchozí pokus o spojení ještě nebyl dokončen. +.TP .B EBADF Špatný deskriptor. .TP @@ -63,12 +105,21 @@ .B EADDRINUSE Adresa je již používána. .SH SPLŇUJE STANDARDY -SVr4, 4.4BSD (volání -.B connect -se poprvé objevilo v BSD 4.2). SVr4 dokumentuje další chybové kódy: -EADDRNOTAVAIL, EINVAL, EAFNOSUPPORT, EALREADY, EINTR, EPROTOTYPE, ENOSR. +SVe4, 4.4BSD, (funkce \fBconnect\fP() se poprvé objevila ve 4.2BSD), +POSIX.1-2001. +.SH POZNÁMKY +POSIX.1-2001 nevyžaduje vložení a ani na Linuxu není tento +soubor vyžadován. Nicméně některé starší (BSD) implementace tento hlavičkový +soubor vyžadují a v přenositelných aplikacích by tedy měl být vložen. + +Třetí argument \fBconnect\fP()je ve skutečnosti \fIint\fP(v BSD4.X +a libc4 a libc5). Některé zmatky v normě POSIX vyústily v přítomnost +\fIsocklen_t\fP používaném také v glibc. Viz \fBaccept\fP(2). +.SH PŘÍKLAD +Příklad použití \fBconnect\fP() je v \fBgetaddrinfo\fP(3). .SH DALŠÍ INFORMACE .BR accept "(2), " bind "(2), " listen "(2), " -.BR socket "(2), " getsockname (2) -.SH VAROVÁNÍ -Překlad je pravděpodobně zastaralý. Pokud chcete pomoci s jeho aktualizací, zamiřte na http://man-pages-cs-wiki.homelinux.net/ +.BR socket "(2), " getsockname "(2), " path_resolution "(7) +.SH TIRÁŽ +Tato stránka je součástí projektu Linux \fIman\-pages\fP. Popis projektu a +informace o hlášení chyb najdete na http://www.kernel.org/doc/man\-pages/. diff -ur man-pages-cs-0.18.20090209-orig/man-pages/man2/getpeername.2 man-pages-cs-0.18.20090209/man-pages/man2/getpeername.2 --- man-pages-cs-0.18.20090209-orig/man-pages/man2/getpeername.2 1999-05-31 19:28:27.000000000 +0200 +++ man-pages-cs-0.18.20090209/man-pages/man2/getpeername.2 2009-09-29 13:05:26.000000000 +0200 @@ -1,9 +1,11 @@ -.TH GETPEERNAME 2 "2. července 1997" "BSD Man Page" "Linux - příručka programátora" +.\" Aktualizováno podle man-pages-3.09-2 z distribuce Fedora 10 +.TH GETPEERNAME 2 "25. září 2009" "BSD Man Page" "Linux - příručka programátora" .do hla cs .do hpf hyphen.cs .SH JMÉNO getpeername \- vrať adresu vzdáleného konce soketu .SH SYNTAXE +.B #include .BI "int getpeername(int " s ", struct sockaddr *" name ", int *" namelen ); .SH POPIS .B Getpeername @@ -44,11 +46,22 @@ .I name ukazuje na paměť, která se nenachází v platné části adresového prostoru procesu. +.B EINVAL +\fINamelen\fP je neplatné(například záporné číslo). .SH SPLŇUJE STANDARDY SVr4, 4.4BSD (volání .B getpeername -se poprvé objevilo ve 4.2BSD). +se poprvé objevilo ve 4.2BSD), POSIX.1-2001 . +.POZNÁMKA +Třetí argument \fBgetpeername\fP() je ve skutečnosti \fI int *\fP +(použito v 4.x BSD a libc4 a libc5). Některé zmatky okolo POSIXu +vyústily v přítomnost \fIsocklen_t\fP, které je také užíváno v glibc. +Viz +.B accept +(2). .SH DALŠÍ INFORMACE .BR accept "(2), " bind "(2), " getsockname (2) -.SH VAROVÁNÍ -Překlad je pravděpodobně zastaralý. Pokud chcete pomoci s jeho aktualizací, zamiřte na http://man-pages-cs-wiki.homelinux.net/ +.SH TIRÁŽ +Tato stránka je součástí projektu Linux \fIman\-pages\fP. Popis projektu a +informace o hlášení chyb najdete na http://www.kernel.org/doc/man\-pages/. + diff -ur man-pages-cs-0.18.20090209-orig/man-pages/man2/getsockname.2 man-pages-cs-0.18.20090209/man-pages/man2/getsockname.2 --- man-pages-cs-0.18.20090209-orig/man-pages/man2/getsockname.2 1999-05-31 19:28:27.000000000 +0200 +++ man-pages-cs-0.18.20090209/man-pages/man2/getsockname.2 2009-09-29 13:06:47.000000000 +0200 @@ -1,9 +1,12 @@ -.TH GETSOCKNAME 2 "29. března 1997" "BSD Man Page" "Linux - příručka programátora" +.\" Aktualizováno podle man-pages-3.09-2 z distribuce Fedora 10 +.TH GETSOCKNAME 2 "25. září 2009" "BSD Man Page" "Linux - příručka programátora" .do hla cs .do hpf hyphen.cs .SH JMÉNO getsockname \- získej jméno (adresu) soketu .SH SYNTAXE +.B #include +.br .B "int getsockname(int " s ", struct sockaddr *" name ", int *" namelen ) .SH POPIS .B Getsockname @@ -11,7 +14,7 @@ .I name . Parametr .I namelen -by měl být inicializován, aby ukazoval množství místa, na které ukazuje +by měl být inicializován, aby ukazoval množství místa, na které ukazuje .IR name . Po návratu bude ukazovat skutečnou velikost vráceného jména (v bajtech). .SH NÁVRATOVÁ HODNOTA @@ -40,13 +43,13 @@ .SH SPLŇUJE STANDARDY SVr4, 4.4BSD (volání .B getsockname -se poprvé objevilo v 4.2BSD). SVr4 dokumentuje další chybové kódy ENOMEM -a ENOSR. -.SH CHYBY -Jména soketů v doméně UNIX nejsou přístupná; volání -.B getsockname -vrací data o délce 0. +se poprvé objevilo v 4.2BSD), POSIX.1-2001. +.SH POZNÁMKY +Třetí argument \fBconnect\fP()je ve skutečnosti \fIint\fP(v BSD4.X +a libc4 a libc5). Některé zmatky v normě POSIX vyústily v přítomnost +\fIsocklen_t\fP používaném také v glibc. Viz \fBaccept\fP(2). .SH DALŠÍ INFORMACE .BR bind "(2), " socket (2) -.SH VAROVÁNÍ -Překlad je pravděpodobně zastaralý. Pokud chcete pomoci s jeho aktualizací, zamiřte na http://man-pages-cs-wiki.homelinux.net/ +.SH TIRÁŽ +Tato stránka je součástí projektu Linux \fIman\-pages\fP. Popis projektu a +informace o hlášení chyb najdete na http://www.kernel.org/doc/man\-pages/. diff -ur man-pages-cs-0.18.20090209-orig/man-pages/man2/chdir.2 man-pages-cs-0.18.20090209/man-pages/man2/chdir.2 --- man-pages-cs-0.18.20090209-orig/man-pages/man2/chdir.2 1999-05-31 19:28:28.000000000 +0200 +++ man-pages-cs-0.18.20090209/man-pages/man2/chdir.2 2009-09-29 13:04:21.000000000 +0200 @@ -1,4 +1,5 @@ -.TH CHDIR 2 "21. března 1997" "Linux 1.2.4" "Linux - příručka Programátora" +.\" Aktualizováno podle man-pages-3.09-2 z distribuce Fedora 10 +.TH CHDIR 2 "25. září 2009" "Linux 1.2.4" "Linux - příručka Programátora" .do hla cs .do hpf hyphen.cs .SH JMÉNO @@ -9,22 +10,29 @@ .BI "int chdir(const char *" path ); .br .BI "int fchdir(int " fd ");" + +Požaduje množinu testovacích maker pro glibc (viz \fBfeature_test_macros\fP(7)): + +\fBfchdir\fP(): _BSD_SOURCE || _XOPEN_SOURCE >= 500 .SH POPIS .B chdir -změní současný adresář na adresář specifikovaný v +() +změní současný adresář na adresář specifikovaný v .IR path . .PP .B fchdir +() má tutéž funkci jako -.BR chdir , +.BR chdir +(), pouze s tím rozdílem, že adresář je zadán jako otevřený deskriptor souboru. .SH "NÁVRATOVÁ HODNOTA" Bylo-li volání úspěšné, je vrácena nula, jinak \-1 a je nastavena proměnná -.I errno . +\fIerrno\fP. .SH CHYBY V závislosti na druhu souborového systému mohou být vráceny i jiné chyby. Nejobvyklejší chyby pro -.B chmod +.B chdir jsou vypsány zde: .TP 0.8i .B EPERM @@ -34,6 +42,9 @@ .I path ukazuje mimo vám přístupný adresový prostor. .TP +.B EIO +Objevila se vstup/výstupní chyba. +.TP .B ENAMETOOLONG .I path je příliš dlouhá. @@ -59,29 +70,30 @@ .I path obsahuje cyklické odkazy (např. přes symbolický odkaz) .PP -Obvyklé chyby -.B fchmod +Obvyklé chyby +.B fchdir jsou zde: .TP 0.8i .B EBADF Deskriptor je neplatný. .TP -.B EPERM -Viz výše. -.TP -.B EROFS -Viz výše. +.B EACECSS +Prohledání adresáře specifikovaného \fIfd\fP bylo odmítnuto kvůli nedostatečným +právům. .SH "SPLŇUJE STANDARDY" -Volání -.B chdir -je kompatibilní se SVr4, SVID, POSIX, X/OPEN, 4.4BSD. SVr4 dokumentuje -navíc chyby EIO, EINTR, ENOLINK a EMULTIHOP, ale nemá ENOMEM a EPERM. -POSIX.1 nemá EPERM, ENOMEM a ELOOP. +SVr4, 4.4BSD, POSIX.1-2001. +.SH POZNÁMKY +Aktuální pracovní adresář je výchozím bodem pro interpretaci relativních cest +(začínají '/'). -Volání -.B fchdir -splňuje SVr4 a 4.4BSD. SVr4 dokumentuje navíc EIO, EINTR a ENOLINK. +Synovský proces vytvořený pomocí \fBfork\fP(2) zdědí aktuální pracovní adresář +svého rodiče. Pracovní adresář je ponechán beze změny při užití \fBexecve\fP(2). + +Prototyp pro \fBfchdir\fP() je dostupný pouze když je definováno \fB_BSD_SOURCE\fP, +nebo \fB_XOPEN_SOURCE\fP je definováno s hodnotou 500. .SH "VIZ TÉŽ" -.BR getcwd "(3), " chroot (2) -.SH VAROVÁNÍ -Překlad je pravděpodobně zastaralý. Pokud chcete pomoci s jeho aktualizací, zamiřte na http://man-pages-cs-wiki.homelinux.net/ +.BR getcwd "(3), " chroot "(2), " path_resolution "(7) +.SH TIRÁŽ +Tato stránka je součástí projektu Linux \fIman\-pages\fP. Popis projektu a +informace o hlášení chyb najdete na http://www.kernel.org/doc/man\-pages/. + diff -ur man-pages-cs-0.18.20090209-orig/man-pages/man2/listen.2 man-pages-cs-0.18.20090209/man-pages/man2/listen.2 --- man-pages-cs-0.18.20090209-orig/man-pages/man2/listen.2 1999-05-31 19:28:28.000000000 +0200 +++ man-pages-cs-0.18.20090209/man-pages/man2/listen.2 2009-09-29 13:06:07.000000000 +0200 @@ -1,61 +1,114 @@ -.TH LISTEN 2 "11.dubna 1997" "BSD Man Page" "Linux - příručka programátora" +.\" Aktualizováno podle man-pages-3.09-2 z distribuce Fedora 10 +.TH LISTEN 2 "23.září 2009" "BSD Man Page" "Linux - příručka programátora" .do hla cs .do hpf hyphen.cs .SH JMÉNO listen \- čekej na spojení na soketu .SH SYNTAXE +.B #include /*viz POZNÁMKY*/ .B #include .sp -.BI "int listen(int " s ", int " backlog ); +.BI "int listen(int " sockfd ", int " backlog ); .SH POPIS -K přijetí spojení na soketu je nejdříve třeba tento soket vytvořit funkcí -.BR socket (2), -ochota akceptovat příchozí spojení a délka fronty čekajících požadavků je -specifikována funkcí -.BR listen , -a poté jsou požadavky na spojení akceptovány funkcí -.BR accept (2). -Volání -.B listen -lze aplikovat pouze na sokety typů + +Funkce \fBlisten\fP(2) označí soket specifikovaný parametrem +\fIsockfd\fP jako pasivní, to znamená, že soket bude použit +pro přijetí požadavků příchozích spojení pomocí funkce +.BR accept +(2). + + +Parametr +.I sockfd +je file deskriptor, který popisuje soket, který je typu .B SOCK_STREAM nebo .B SOCK_SEQPACKET. Parametr .I backlog -specifikuje délku fronty čekajících požadavků na spojení. Je-li fronta +specifikuje maximální délku, do které fronta čekajících požadavků na spojení +prostřednictvím \fIsockfd\fP může dorůst. Je-li fronta zaplněna, obdrží klient zprávu -.BR ECONNREFUSED . +.BR ECONNREFUSED nebo pokud to nižší vrstva podporuje znovuzaslání, +požadavek může být ignorován a pozdější pokus o spojení uspěje. .SH NÁVRATOVÁ HODNOTA V případě úspěchu je vrácena nula, jinak -1 a je příslušně nastavena proměnná .I errno .SH CHYBY .TP 0.8i +.B EADDRINUSE +Jiný soket už naslouchá na daném portu. .B EBADF Argument -.I s +.I sockfd není platným deskriptorem. .TP .B ENOTSOCK Argument -.I s +.I ssockfd není deskriptorem soketu. .TP .B EOPNOTSUPP Typ soketu není podporován voláním .BR listen . .SH SPLŇUJE STANDARDY -SVr4, 4.4BSD (volání +4.4BSD, POSIX.1-2001. Volání \fBlisten\fP se poprvé objevilo v +4.2BSD. +.SH POZNÁMKY +K přijetí spojení jsou provedeny tyto kroky: +.br +.TP +1. +Je vytvořen soket pomocí \fBsocket\fP(2). +.br +.TP +2. +Soket je navázán na lokální adresu pomocí +\fBbind\fP(2), takže další sokety na něj mohou +být napojeny pomocí \fBconnect\fP(2). +.br +.TP +3. +Ochota k přijetí příchozího spojení a limit +pro délku fronty jsou specifikovány pomocí .B listen -se poprvé objevilo ve 4.2BSD). -.SH CHYBY -Je-li soket typu AF\_INET a argument backlog je větší než -konstanta SOMAXCONN (128 v 2.0.29), je tiše zmenšen na -SOMAXCONN. Budete-li psát přenositelné aplikace, tak si z této konstanty nic -nedělejte, protože např. některé BSD systémy limitují backlog na 5. +(). +.br +.TP +4. +Spojení je přijato pomocí +.B accept +(2). +.br +.LP + +POSIX.1-2001 nevyžaduje vložení \fI a +tento hlavičkový soubor není vyžadován ani v Linuxu. +Nicméně některé starší (BSD) implementace vyžadují +tento soubor a proto by měl být vložen do přenositelných aplikací. + +Chování argumentu \fIbacklog\fP na TCP soketech +se změnilo v Linuxu 2.2. Nyní specifikuje délku +fronty pro \fI kompletně\fP zařízený soket čekající +na přijetí, místo počtu nekompletních požadavků +na spojení. Maximální délka fronty nekompletního soketu +může být nastavena pomocí \fItcp_max_syn_backlog\fP +sysctl. Pokud jsou syncookies povoleny není logicky +žádná maximální délka a toto sysctl nastavení je +ignorováno. Viz \fBtcp\fP(7) pro více informací. + +Pokud je \fIbacklog\fP argument větší než hodnota +v \fI /proc/sys/ net/core/somaxconn, pak je tiše +oříznuta na tuto hodnotu. implicitní hodnota je +128. V jádrech starších než 2.4.25 bylo tato hodnota +pevně stanovena na 128. +.SH PŘÍKLAD +Viz \fBbind\fP(2). .SH DALŠÍ INFORMACE -.BR accept "(2), " connect "(2), " socket (2) -.SH VAROVÁNÍ -Překlad je pravděpodobně zastaralý. Pokud chcete pomoci s jeho aktualizací, zamiřte na http://man-pages-cs-wiki.homelinux.net/ +.BR accept "(2), "bind"(2), " connect "(2), " socket (2) +.SH TIRÁŽ +Tato stránka je součástí projektu Linux \fIman\-pages\fP. Popis projektu a +informace o hlášení chyb najdete na http://www.kernel.org/doc/man\-pages/. + diff -ur man-pages-cs-0.18.20090209-orig/man-pages/man2/signal.2 man-pages-cs-0.18.20090209/man-pages/man2/signal.2 --- man-pages-cs-0.18.20090209-orig/man-pages/man2/signal.2 1999-05-31 19:28:28.000000000 +0200 +++ man-pages-cs-0.18.20090209/man-pages/man2/signal.2 2009-09-29 13:07:21.000000000 +0200 @@ -1,4 +1,5 @@ -.TH SIGNAL 2 "18. února 1997" "Linux 2.0" "Linux \- příručka Programátora" +.\" Aktualizováno podle man-pages-3.09-2 z distribuce Fedora 10 +.TH SIGNAL 2 "23.září 2009" "Linux 2.0" "Linux \- příručka Programátora" .do hla cs .do hpf hyphen.cs @@ -8,24 +9,41 @@ .SH SYNTAXE .B #include .sp 2 -.BI "void (*signal(int " signum ", void (*" handler ")(int)))(int);" +.B typedef void (*sighandler_t)(int); +.sp 2 +.BI "sighandler_t signal(int " signum ", sighandler_t " handler "); .SH POPIS -Systémové volání -.B signal -instaluje novou obslužnou funkci pro signál s číslem -.I signum. -Obsluha signálu je nastavena na -.I handler, -což může být uživatelsky definovaná funkce, nebo jedna z následujících konstant: -.RS -.TP -.B SIG_IGN -Signál bude ignorován. -.TP -.B SIG_DFL -Nastaví se standardní obsluha signálu. -.RE +Chování volání \fBsignal\fP() se liší napříč distribucemi Unixu a také +se liší historicky v jednotlivých vydáních Linuxu. \fB Vyhněte se použití +této funkce.\fP Raději použijte \fB sigaction\fP(2). Viz \fI přenositelnost\fP +níže. + +Systémové volání \fBsignal\fP instaluje novou obslužnou funkci pro + signál s číslem \fIsignum\fP. Obsluha signálu je nastavena na \fIhandler\fP, +což může být uživatelsky definovaná funkce nebo \fBSIG_IGN\fP případně +\fBSIG_DFL\fP. + +Pokud je signál \fIsignum\fP přijat procesem, stane se jedna z následujících +věcí: +.TP +* +Je-li nastaveno \fBSIG_IGN\fP signál je ignorován. +.TP +* +Je-li nastaveno \fBSIG_DFL\fP je vyvolána implicitní funkce. +.TP +* +Pokud je dispozice nastavena na funkci, pak je nejdřív buď znovu +nastavena dispozice na \fBSIG_DFL\fP nebo je signál blokován(viz přenositelnost +níže) a \fIobslužná funkce\fP je volána s parametrem \fI signum\fP. Pokud volání +funkce zablokovalo signál, je signál odblokován při návratu z obslužné +funkce. + +.LP +Signály \fB SIGKILL \fP a \fBSIGSTOP \fP nemohou být odchyceny nebo blokovány. + + .PP Obslužná funkce dostane při zavolání jako parametr číslo signálu. To umožňuje použít jednu obslužnou funkci pro více signálů. @@ -33,52 +51,96 @@ .SH "NÁVRATOVÁ HODNOTA" Funkce .B signal -vrací předchozí hodnotu obsluhy signálu, nebo +vrací předchozí hodnotu obsluhy signálu, nebo .B SIG_ERR "," nastane-li chyba. -.SH POZNÁMKY -Nelze nastavit obsluhu signálů -.B SIGKILL -a -.BR SIGSTOP . -.PP -V Linuxu se na rozdíl od systémů BSD obsluha signálu vrací -při příchodu signálu na standardní hodnotu. -Když ale použijete -.B "#include " -místo -.B "" "," -je funkce -.B signal -předefinována na -.B __bsd_signal -a chová se jako v BSD. -Obě verze funkce -.B signal -jsou knihovní funkce, které používají systémové volání -.BR sigaction (2). -.PP -Není\-li Vám jasná syntaxe uvedená na začátku této manuálové stránky, -možná Vám pomůže tento ekvivalentní zápis: -.PP -typedef void (*sighandler_t)(int); -.br -.BI "sighandler_t signal(int " signum ", sighandler_t " handler ); -.PP -Podle normy POSIX není definováno chování procesu poté, co -ignoruje signál SIGFPE, SIGILL, nebo SIGSEGV, který nebyl generován -funkcemi \fIkill()\fP nebo \fIraise()\fP. -Celočíselné dělení nulou dává nedefinovaný výsledek a -na některých architekturách generuje signál SIGFPE. -Ignorování tohoto signálu může způsobit zacyklení procesu. - +.SH "CHYBY" +.B EINVAL +.I signum +je neplatný .SH "SPLŇUJE STANDARDY" -ANSI C +C89, C99, POSIX.1-2001. +.SH "POZNÁMKY" +Efekt funkce signal v procesech s vlákny nejsou specifikovány. + +Dle specifikace POSIX je chování systému nespecifikováno, pokud +ignoruje \fB SIGFPE \fP, \fBSIGILL \fP nebo \fBSIGSEGV \fP signál +pokud nebyl vyvolán pomocí \fBkill \fP(2) nebo \fBraise \fP(3). +Celočíselné dělení nulou má nedefinovaný výsledek. Na některých +architekturách se generuje \fBSIGFRE\fP signál. (Také dělení +největšího záporného celého čísla -1 generuje \fBSIGFRE\fP). +Ignorování tohoto signálu může vést k nekonečné smyčce. + +Viz \fBsigaction\fP(2) pro více informací co se stane je-li +\fBSIGCHLD\fP nastaveno na \fBSIG_IGN\fP. + +Viz \fBsignal\fP(7) pro seznam asynchronních bezpečných funkcí, +které mohou být bezpečně volány uvnitř funkce pro obsluhu signálu. + +Použití \fI sighandler_t\fP je rozšířením GNU. Různé verze +glibc předem definují tento typ; libc4 a libc5 definují +\fISignalHandler\fP, glibc definuje \fIsig_t\fP a je-li +definován \fB_GNU_SOURCE\fP pak je definován i \fIsighandler_t\fP. +Bez definice takového typu je deklarace funkce \fBsignal\fP hůře +čitelná. + +\fB void ( *\fP \fIsignal\fP\fB(int\fP \fIsignum\fP\fB, void (*\fP +\fIhandler\fP\fB)(int)) ) (int);\fP + +.SH Přenositelnost +Jediné přenositelné použití funkce \fBsignal\fP() je nastavit obsluhu signálu +na \fBSIG_DFL\fP nebo \fBSIG_IGN\fP. Sémantika použití \fBsignal\fP() na nastavení +obsluhy signálu se liší na různých systémech (a POSIX.1 tot explicitně podporuje). +\fB Proto jej nepoužívejte za tímto účelem.\fP + +POSIX.1 vyřešil tento nesoulad v přenositelnosti zavedením \fBsigaction\fP(2), +který poskytuje explicitní kontrolu sémantiky v případě vyvolání obsluhy +signálu. Používejte jej proto místo \fBsignal\fP()u. + +Pokud v původních Unixových systémech byla obslužná funkce zřízená pomocí +\fBsignal\fP() vyvolána pomocí doručení signálu, stav byl nastaven na +\fBSIG_DFL\fP a systém neblokoval další možná doručení tohoto signálu. +System V také poskytuje sémantiku pro \fBsignal\fP(). To bylo špatné, protože +signál mohl být znovu doručen před tím, než se mohla obsluha signálu obnovit. +Navíc doručení několika signálu stejného druhu bezprostředně za sebou +vyústilo v rekurzivní volání obsluhy signálu. + +BSD vylepšilo tuto situaci změnou sémantiky obsluhy signálu (ale naneštěstí +v tichosti také změnily sémantiku zřízení obsluhy pomocí \fbsignal\fP()). +Když je na BSD vyvolána obsluha signálu , tak není dispozice signálu znovu +nastavena a další doručení signálu je blokováno dokud se provádí obsluha. +Situace na Linuxu je následující: +.TP +* +Systémové volání jádra \fBsignal\fP poskytuje System V sémantiku. +.TP +* +Implicitně v glibc 2 a pozdějších vydáních je obalen \fBsignal\fP() +funkcí, která nevolá jádro systému. Místo toho volá \fBsigaction\fP(2) +a používá příznaky, které zaručí BSD sémantiku. Toto chování ja zaručeno +po dobu trvání definice makra \fB_BSD_SOURCE\fP. Standartně je \fB_BSD_SOURCE\fP +definováno; je také implicitně definováno, pokud je nadefinováno \fB_GNU_SOURCE\fP +a také může být definováno explicitně. + +Na glibc 2 a pozdějších, pokud není \fB_BSD_SOURCE\fP test makro definováno, +poskytuje \fBsignal\fP() sémantiku System V. (Standardní implicitní definice +\fB_BSD_SOURCE\fP není poskytnuta, pokud je \fBgcc\fP(1) vyvoláno v jenom ze +standardních módů (-std=xxx nebo -ansi) nebo je definováno jiné test makro +jako například \fB_POSIX_SOURCE\fP, \fB_XOPEN_SOURCE\fP nebo \fB_SVID_SOURCE\fP +viz \fB feature_test_macros\fP(7).) +.TP +Funkce \fBsignal\fP() v Linuxu libc4 a libc5 poskutyje sémantiku +System V. Pokud je na libc5 systém vloženo místo + pak poskytuje \fBsignal\fP() BSD sémantiku. .SH "DALŠÍ INFORMACE" -.BR kill "(1), " kill "(2), " killpg "(2), " pause "(2), " raise "(3), " -.BR sigaction "(2), " signal "(7), " sigsetops "(3), " sigvec (2), -.BR alarm (2). +.BR kill "(1), "alarm "(2)" kill "(2), " killpg "(2), " pause "(2), " +.BR sigaction "(2), " signalfd "(2),"sigpending "(2) " sigprocmask "(2), " +.BR sigqueue "(2), " sigsuspend "(2),"bsd_signal "(3) " raise "(3), " +.BR siginterrupt "(3), " sigsetopts "(3),"sigvec "(3) " sysv_signal "(3), " +.BR feature_test_macros " (7), " signal " (7). + +.SH TIRÁŽ +Tato stránka je součástí projektu Linux \fIman\-pages\fP. Popis projektu a +informace o hlášení chyb najdete na http://www.kernel.org/doc/man\-pages/. -.SH VAROVÁNÍ -Překlad je pravděpodobně zastaralý. Pokud chcete pomoci s jeho aktualizací, zamiřte na http://man-pages-cs-wiki.homelinux.net/ diff -ur man-pages-cs-0.18.20090209-orig/man-pages/man2/sigpause.2 man-pages-cs-0.18.20090209/man-pages/man2/sigpause.2 --- man-pages-cs-0.18.20090209-orig/man-pages/man2/sigpause.2 1999-05-31 19:28:28.000000000 +0200 +++ man-pages-cs-0.18.20090209/man-pages/man2/sigpause.2 2009-09-29 13:07:41.000000000 +0200 @@ -1,13 +1,16 @@ -.TH SIGPAUSE 2 "18. února 1997" "Linux 1.3" "Linux - příručka Programátora" +.\" Aktualizováno podle man-pages-3.09-2 z distribuce Fedora 10 +.TH SIGPAUSE 2 "25. září 2009" "Linux 1.3" "Linux - příručka Programátora" .do hla cs .do hpf hyphen.cs .SH JMÉNO -sigpause \- uvolni blokované signály a čekej na přerušení +sigpause \- atomicky uvolní blokované signály a čeká na přerušení .SH SYNTAXE .B #include .sp -.BI "int sigpause(int " sigmask ); +\fB int sigpause(int\fP \fIsigmask\fP\fB); /* BSD */ \fP +.sp +\fB int sigpause(int\fP\fI sig\fP\fB); /* SYSTEM V / Unix 95 */ \fP .SH POPIS Tato funkce je zastaralá a je nahrazena funkcí @@ -19,21 +22,38 @@ .I sigmask a poté čeká na příchod signálu. Při návratu je obnovena původní maska signálů. .PP -Parametr -.I sigmask -je obvykle nastavován na nulu, tj. že nemá být blokován žádný signál. -Funkce +.SH NÁVRATOVÁ HODNOTA +Pokud se funkce .B sigpause -je vždy ukončena přerušením, vrací \-1 a globální proměnná +() vrátí, byla ukončena přerušením a návratová hodnota je \-1 a globální proměnná .I errno je nastavena na .BR EINTR . .SH "SPLŇUJE STANDARDY" -4.4BSD. Funkce -.B sigpause -se poprvé objevila v 4.3BSD a její použití v nových programech se nedoporučuje. +Systém V verze funkce \fB sigpause\fP() je standardizována v POSIX.1-2001. +.SH POZNÁMKY +.TP +\fB Historie\fP +Klasická BSD verze této funkce se objevila v 4.2BSD. Nastavuje masku signálů procesu +na \fIsigmask\fP. Unix95 standardizoval nekompatibilní System V verzi této funkce, +která odstraní specifikovaný signál \fIsig\fP ze signálové masky procesu. Nepřehledná +situace kolem dvou nekompatibilních funkcí se stejným názvem byla vyřešena pomocí +funkce \fBsigsuspend\fP(2), která bere argument \fIsigset_t *\fP (místo \fI int\fP). +.TP +.B Linuxové poznámky +Na Linuxu je tato rutina systémovým voláním pouze na architektuře Sparc +(sparc64). + +Libc4 a libc5 užívají pouze BSD verzi. + +Glibc používá BSD verzi pokud je specifikována třída testovacích maker \fB_BSD_SOURCE\fP a +zároveň není definováno žádné z \fB_POSIC_SOURCE\fP,\fB_POSIX_C_SOURCE\fP, \fB_XOPEN_SOURCE\fP, +\fB_GNU_SOURCE\fP, \fB_SVID_SOURCE\fP. System V verze je použita v \fB_XOPEN_SOURCE\fP pokud +je definováno. .SH "DALŠÍ INFORMACE" .BR sigsuspend "(2), " kill "(2), " sigaction "(2), " sigprocmask "(2), " -.BR sigblock "(2), " sigvec (2) -.SH VAROVÁNÍ -Překlad je pravděpodobně zastaralý. Pokud chcete pomoci s jeho aktualizací, zamiřte na http://man-pages-cs-wiki.homelinux.net/ +.BR sigblock "(2), " sigvec " (2), " feature_test_macros "(7) +.SH TIRÁŽ +Tato stránka je součástí projektu Linux \fIman\-pages\fP. Popis projektu a +informace o hlášení chyb najdete na http://www.kernel.org/doc/man\-pages/. + diff -ur man-pages-cs-0.18.20090209-orig/man-pages/man2/unimplemented.2 man-pages-cs-0.18.20090209/man-pages/man2/unimplemented.2 --- man-pages-cs-0.18.20090209-orig/man-pages/man2/unimplemented.2 1999-05-31 19:28:29.000000000 +0200 +++ man-pages-cs-0.18.20090209/man-pages/man2/unimplemented.2 2009-09-29 13:07:55.000000000 +0200 @@ -1,20 +1,38 @@ -.TH UNIMPLEMENTED 2 "5.ledna 1997" "Linux 1.2.4" "Linux - příručka programátora" +.\" Aktualizováno podle man-pages-3.09-2 z distribuce Fedora 10 +.TH UNIMPLEMENTED 2 "23.září 2009" "Linux 1.2.4" "Linux - příručka programátora" .do hla cs .do hpf hyphen.cs .SH JMÉNO -afs_syscall, break, gtty, lock, mpx, prof, stty, ulimit +afs_syscall, break, fattach, fdetach, ftime, getmsg, getpmsg, +gtty, isastream, lock, madvise1, mpx, multiplexer, prof, pro- +fil, putmsg, putpmsg, security, stty, tuxcall, ulimit, vserver \- neimplementovaná systémová volání + .SH SYNTAXE Neimplementovaná systémová volání. .SH POPIS -Tato systémová volání nejsou implementována v Linuxu verze 1.2.4. +Tato systémová volání nejsou implementována v Linuxovém jádře +2.6.22 .SH NÁVRATOVÁ HODNOTA Tato systémová volání vždy vrací \-1 a nastaví .I errno na .BR ENOSYS . +.SH POZNÁMKY +Funkce \fBftime\fP(3), \fBprofil\fP(3) a \fBulimit\fP(3) jsou +implementovány jako knihovní funkce. + +Některá systémová volání jako \fBalloc_hugepages\fP(2), +\fBfree_hugepages\fP(2), \fBioperm\fP(2), \fBiopl\fP(2) +a \fBvm86\fP(2) existují pouze na některých architekturách. + +Některá systémová volání jako \fBipc\fP(2), +\fBcreate_module\fP(2), \fBinit_module\fP(2) a \fBdelete_module\fP(2) +existují pouze pokud byla podpora těchto volání zakompilována +do linuxového jádra. .SH DALŠÍ INFORMACE -.BR obsolete (2), -.BR undocumented (2). -.SH VAROVÁNÍ -Překlad je pravděpodobně zastaralý. Pokud chcete pomoci s jeho aktualizací, zamiřte na http://man-pages-cs-wiki.homelinux.net/ +.BR syscalls (2) +.SH TIRÁŽ +Tato stránka je součástí projektu Linux \fIman\-pages\fP. Popis projektu a +informace o hlášení chyb najdete na http://www.kernel.org/doc/man\-pages/. +