Provided by:
manpages-pl-dev_20060617-3_all 
NAZWA
dup, dup2 - powielenie deskryptora pliku
SK/LADNIA
#include <unistd.h>
int dup(int oldfd);
int dup2(int oldfd, int newfd);
OPIS
dup i dup2 tworz kopi deskryptora pliku oldfd.
Po pomylnym zakoczeniu dup lub dup2, stary i nowy deskryptor mog by
uywane zamiennie. Wspoldziel one blokady, pozycj pliku i znaczniki; na
przyklad, jeli pozycja pliku zmieni si w wyniku uyciu lseek dla jednym
z deskryptorow, zmieni si ona take dla drugiego.
Te dwa deskryptory nie wspoldziel jednak znacznika close-on-exec.
dup uywa dla nowego deskryptora nieuywanego deskryptora o najniszym
numerze.
dup2 powoduje, e newfd staje si kopi oldfd, zamykajc najpierw newfd,
jeli jest to potrzebne.
WARTO ZWRACANA
dup i dup2 zwracaj nowy deskryptor, lub -1 po bldzie (w tym przypadku
odpowiednio ustawiane jest errno).
B/LDY
EBADF oldfd nie jest deskryptorem otwartego pliku, lub newfd jest poza
dozwolonym dla deskryptorow plikow zakresem.
EMFILE Proces ju osignl maksymaln liczb otwartych deskryptorow plikow,
a probowal otworzy nowy.
OSTRZEENIE
Bld zwracany przez dup2 jest inny ni zwracany przez fcntl(..., F_DUPFD,
...), gdy newfd jest poza zakresem. W niektorych systemach dup2 zwraca
te czasem EINVAL jako F_DUPFD.
USTERKI
Jeli newfd byl otwarty, wszelkie bldy, ktore moglyby zosta zgloszone w
chwili wykonania close() zostan utracone. Ostrony programista nie uyje
dup2 bez wczeniejszego zamknicia newfd.
ZGODNE Z
SVr4, SVID, POSIX, X/OPEN, BSD 4.3. SVr4 dokumentuje dodatkowe bldy
EINTR i ENOLINK. POSIX.1 dodaje EINTR.
ZOBACZ TAKE
fcntl(2), open(2), close(2)
INFORMACJE O T/LUMACZENIU
Powysze tlumaczenie pochodzi z nieistniejcego ju Projektu Tlumaczenia
Manuali i moe nie by aktualne. W razie zauwaenia ronic midzy powyszym
opisem a rzeczywistym zachowaniem opisywanego programu lub funkcji,
prosimy o zapoznanie si z oryginaln (angielsk) wersj strony podrcznika.