# Polish translation of manpages # This file is distributed under the same license as the manpages-l10n package. # Copyright © of this file: # Rafał Lewczuk , 1999. # Andrzej Krzysztofowicz , 2003. # Robert Luberda , 2013, 2019. # Michał Kułach , 2013, 2014, 2016, 2024. msgid "" msgstr "" "Project-Id-Version: manpages-pl\n" "POT-Creation-Date: 2024-06-01 06:21+0200\n" "PO-Revision-Date: 2024-06-02 12:55+0200\n" "Last-Translator: Michał Kułach \n" "Language-Team: Polish \n" "Language: pl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " "|| n%100>=20) ? 1 : 2);\n" "X-Generator: Lokalize 22.12.3\n" #. type: TH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "SHMOP" msgstr "SHMOP" #. type: TH #: archlinux debian-unstable opensuse-tumbleweed #, no-wrap msgid "2024-05-02" msgstr "2 maja 2024 r." #. type: TH #: archlinux debian-unstable #, no-wrap msgid "Linux man-pages 6.8" msgstr "Linux man-pages 6.8" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "NAME" msgstr "NAZWA" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "shmat, shmdt - System V shared memory operations" msgstr "shmat, shmdt - operacje na segmentach pamięci dzielonej Systemu V" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "LIBRARY" msgstr "BIBLIOTEKA" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "Standard C library (I, I<-lc>)" msgstr "Standardowa biblioteka C (I, I<-lc>)" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "SYNOPSIS" msgstr "SKŁADNIA" # #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B<#include Esys/shm.hE>\n" msgstr "B<#include Esys/shm.hE>\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "BIB<, const void *_Nullable >IB<, int >IB<);>\n" "BIB<);>\n" msgstr "" "BIB<, const void *_Nullable >IB<, int >IB<);>\n" "BIB<);>\n" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "DESCRIPTION" msgstr "OPIS" #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "shmat()" msgstr "shmat()" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "B() attaches the System\\ V shared memory segment identified by " "I to the address space of the calling process. The attaching address " "is specified by I with one of the following criteria:" msgstr "" "B() dołącza segment pamięci dzielonej Systemu\\ V identyfikowany " "przez I do przestrzeni adresowej procesu, który ją wywołał. Adres, " "pod którym segment ma być widoczny jest przekazywany w parametrze " "I, przy czym system może przetworzyć ten adres w następujący sposób:" #. type: IP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "\\[bu]" msgstr "\\[bu]" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "If I is NULL, the system chooses a suitable (unused) page-aligned " "address to attach the segment." msgstr "" "Jeśli I jest równy NULL, to system sam wybierze odpowiedni " "wyrównany do rozmiaru strony (nieużywany) adres, pod którym segment będzie " "widoczny." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "If I isn't NULL and B is specified in I, the " "attach occurs at the address equal to I rounded down to the nearest " "multiple of B." msgstr "" "Jeśli I jest różny od NULL i w I przekazany został znacznik " "B, wówczas segment zostanie dołączony pod adresem I " "zaokrąglonym w dół do wielokrotności B." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Otherwise, I must be a page-aligned address at which the attach " "occurs." msgstr "" "W innym przypadku I musi być wyrównanym do granicy strony adresem, " "pod którym nastąpi dołączenie segmentu." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "In addition to B, the following flags may be specified in the " "I bit-mask argument:" msgstr "" "Oprócz B można określić następujące znaczniki w argumencie maski " "bitowej I:" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (Linux-specific; since Linux 2.6.9)" msgstr "B (charakterystyczne dla Linuksa; od Linuksa w wersji 2.6.9)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Allow the contents of the segment to be executed. The caller must have " "execute permission on the segment." msgstr "" "Pozwala na wykonanie zawartości segmentu. Wywołujący musi mieć prawo " "wykonania segmentu." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Attach the segment for read-only access. The process must have read " "permission for the segment. If this flag is not specified, the segment is " "attached for read and write access, and the process must have read and write " "permission for the segment. There is no notion of a write-only shared " "memory segment." msgstr "" "Dołącza segment do dostępu tylko do odczytu. Proces wywołujący musi mieć " "prawa odczytu segmentu. Jeśli znacznik nie jest określona, w dołączanym " "segmencie możliwy jest dostęp do odczytu jak i zapisu, przy czym proces musi " "mieć prawa do odczytu i zapisu segmentu. Nie istnieje pojęcie segmentu " "pamięci dzielonej tylko do zapisu." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (Linux-specific)" msgstr "B (charakterystyczne dla Linuksa)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "This flag specifies that the mapping of the segment should replace any " "existing mapping in the range starting at I and continuing for the " "size of the segment. (Normally, an B error would result if a " "mapping already exists in this address range.) In this case, I " "must not be NULL." msgstr "" "Ten znacznik oznacza, że odwzorowanie tego segmentu powinno zastąpić " "jakiekolwiek istniejące wcześniej odwzorowanie w zakresie rozpoczynającym " "się od I i rozciągającym się na rozmiar segmentu. (Normalnie, gdy " "odwzorowanie w tym zakresie adresów już istnieje, powinien wystąpić błąd " "B). W tym przypadku I nie może być równy NULL." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The B(2) value of the calling process is not altered by the attach. " "The segment will automatically be detached at process exit. The same " "segment may be attached as a read and as a read-write one, and more than " "once, in the process's address space." msgstr "" "Wartość B(2) procesu wywołującego nie jest zmieniana podczas dołączania " "segmentu. Segment zostanie automatycznie odłączony, gdy proces się zakończy. " "Ten sam segment może być dołączony do przestrzeni adresowej procesu jako " "\\[Bq]tylko do odczytu\\[rq] lub \\[Bq]do odczytu i zapisu\\[rq] więcej niż " "raz." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "A successful B() call updates the members of the I " "structure (see B(2)) associated with the shared memory segment as " "follows:" msgstr "" "Pomyślne wywołanie B aktualizuje pola struktury I (patrz " "B(2)) opisującej segment w następujący sposób:" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "I is set to the current time." msgstr "I przypisywany jest bieżący czas." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "I is set to the process-ID of the calling process." msgstr "I jest ustawiane na identyfikator procesu wywołującego." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "I is incremented by one." msgstr "I jest zwiększane o jeden." #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "shmdt()" msgstr "shmdt()" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "B() detaches the shared memory segment located at the address " "specified by I from the address space of the calling process. The " "to-be-detached segment must be currently attached with I equal to " "the value returned by the attaching B() call." msgstr "" "B odłącza segment pamięci dzielonej odwzorowany pod adresem podanym w " "I z przestrzeni adresowej procesu wywołującego tę funkcję. " "Przekazany funkcji w parametrze I adres musi być równy adresowi " "zwróconemu wcześniej przez wywołanie B()." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "On a successful B() call, the system updates the members of the " "I structure associated with the shared memory segment as follows:" msgstr "" "Pomyślne wywołanie B aktualizuje pola struktury I " "opisującej segment w następujący sposób:" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "I is set to the current time." msgstr "I przypisywany jest bieżący czas." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "I is decremented by one. If it becomes 0 and the segment is " "marked for deletion, the segment is deleted." msgstr "" "I jest zmniejszane o jeden. Jeśli pole to osiągnie 0 i segment " "jest zaznaczony do usunięcia, wówczas zostanie on usunięty." #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "RETURN VALUE" msgstr "WARTOŚĆ ZWRACANA" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "On success, B() returns the address of the attached shared memory " "segment; on error, I<(void\\ *)\\ -1> is returned, and I is set to " "indicate the error." msgstr "" "Jeśli się powiedzie, B() zwraca adres dołączonego segmentu pamięci " "dzielonej; w razie błędu zwracane jest I<(void\\ *)\\ -1>, a zmienna " "I wskazuje błąd." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "On success, B() returns 0; on error -1 is returned, and I is " "set to indicate the error." msgstr "" "Jeśli się powiedzie, B() zwraca 0; w razie błędu zwracane jest -1, a " "zmienna I wskazuje błąd." #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "ERRORS" msgstr "BŁĘDY" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "B() can fail with one of the following errors:" msgstr "B() może zawieść z powodu następujących błędów:" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The calling process does not have the required permissions for the requested " "attach type, and does not have the B capability in the user " "namespace that governs its IPC namespace." msgstr "" "Proces wywołujący nie ma wystarczających uprawnień do dołączenia segmentu w " "żądany sposób oraz nie ma przywileju B (ang. capability) w " "tej przestrzeni nazw użytkownika, która odpowiada za przestrzeń nazw IPC." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "I points to a removed identifier." msgstr "I wskazuje na usunięty identyfikator." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Invalid I value, unaligned (i.e., not page-aligned and B was " "not specified) or invalid I value, or can't attach segment at " "I, or B was specified and I was NULL." msgstr "" "Niewłaściwa wartość parametru I, niewyrównana (do granicy strony i " "nie podano B) lub niepoprawna wartość I albo nieudane " "dołączenie pod adresem I lub został podany znacznik B, " "podczas gdy I było równe NULL." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "Could not allocate memory for the descriptor or for the page tables." msgstr "Brak pamięci na deskryptor lub tablice stron." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "B() can fail with one of the following errors:" msgstr "B() może zawieść z powodu następujących błędów:" #. The following since Linux 2.6.17-rc1: #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "There is no shared memory segment attached at I; or, I is " "not aligned on a page boundary." msgstr "" "Żaden segment pamięci dzielonej nie jest podłączony pod adresem I " "lub I nie jest wyrównany do granicy strony." #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "STANDARDS" msgstr "STANDARDY" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed msgid "POSIX.1-2008." msgstr "POSIX.1-2008." #. type: SH #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "HISTORY" msgstr "HISTORIA" #. SVr4 documents an additional error condition EMFILE. #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed msgid "POSIX.1-2001, SVr4." msgstr "POSIX.1-2001, SVr4." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "In SVID 3 (or perhaps earlier), the type of the I argument was " "changed from I into I, and the returned type of " "B() from I into I." msgstr "" "W SVID 3 (lub być może wcześniejszym) typ parametru I został " "zmieniony z I na I, a typ wyniku zwracanego przez " "B() z I na I." #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "NOTES" msgstr "UWAGI" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "After a B(2), the child inherits the attached shared memory segments." msgstr "" "W wyniku wywołania B(2) proces potomny dziedziczy dołączone segmenty " "pamięci dzielonej." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "After an B(2), all attached shared memory segments are detached from " "the process." msgstr "" "Po wykonaniu B(2) wszystkie dołączone segmenty pamięci dzielonej są " "odłączane od procesu." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Upon B<_exit>(2), all attached shared memory segments are detached from the " "process." msgstr "" "Po wykonaniu B<_exit>(2) wszystkie dołączone segmenty pamięci dzielonej są " "odłączane od procesu." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Using B() with I equal to NULL is the preferred, portable " "way of attaching a shared memory segment. Be aware that the shared memory " "segment attached in this way may be attached at different addresses in " "different processes. Therefore, any pointers maintained within the shared " "memory must be made relative (typically to the starting address of the " "segment), rather than absolute." msgstr "" "Używanie B() z I równym NULL jest zalecaną i przenośną " "metodą dołączania segmentu pamięci dzielonej. Trzeba jednak być świadomym, " "że ta metoda dołączania segmentu pamięci dzielonej może spowodować jego " "dołączenie pod różnymi adresami w różnych procesach. W związku z tym " "wszystkie wskaźniki obsługiwane w pamięci dzielonej muszą być względne " "(zazwyczaj względem adresu początkowego segmentu), nie zaś bezwzględne." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "On Linux, it is possible to attach a shared memory segment even if it is " "already marked to be deleted. However, POSIX.1 does not specify this " "behavior and many other implementations do not support it." msgstr "" "Linux pozwala na dołączenie segmentu pamięci dzielonej, nawet jeśli już " "został zaznaczony do usunięcia. Jednakże POSIX.1 nie określa takiego " "zachowania i wiele innych implementacji go nie obsługuje." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "The following system parameter affects B():" msgstr "Na wywołanie B() wpływa następujący parametr systemowy:" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Segment low boundary address multiple. When explicitly specifying an attach " "address in a call to B(), the caller should ensure that the address " "is a multiple of this value. This is necessary on some architectures, in " "order either to ensure good CPU cache performance or to ensure that " "different attaches of the same segment have consistent views within the CPU " "cache. B is normally some multiple of the system page size. (On " "many Linux architectures, B is the same as the system page size.)" msgstr "" "Wielokrotność dolnej granicy adresu segmentu. Podczas bezpośredniego " "wskazania dołączonego adresu w wywołaniu do B(), wywołujący powinien " "się upewnić, że adres jest wielokrotnością tej wartości. Jest to konieczne w " "przypadku niektórych architektur, aby zapewnić dobrą wydajność pamięci " "podręcznej procesora lub aby zapewnić, że różne dołączenia tego samego " "segmentu mają spójne widoki w pamięci podręcznej procesora. B jest " "zwykle jakąś wielokrotnością systemowego rozmiaru strony. (W wielu " "architekturach linuksowych wartość B jest taka sama, jak systemowy " "rozmiar strony)." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The implementation places no intrinsic per-process limit on the number of " "shared memory segments (B)." msgstr "" "Aktualna implementacja nie ma wewnętrznego ograniczenia na liczbę segmentów " "pamięci dzielonej dołączanych do jednego procesu (B)." #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "EXAMPLES" msgstr "PRZYKŁADY" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The two programs shown below exchange a string using a shared memory " "segment. Further details about the programs are given below. First, we " "show a shell session demonstrating their use." msgstr "" "Dwa programy pokazane poniżej, wymieniają łańcuch za pomocą segmentu pamięci " "dzielonej. Więcej szczegółów na temat programów podano poniżej. Na początku " "zademonstrujmy sesję powłoki pokazującą działanie programów." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "In one terminal window, we run the \"reader\" program, which creates a " "System V shared memory segment and a System V semaphore set. The program " "prints out the IDs of the created objects, and then waits for the semaphore " "to change value." msgstr "" "W jednym oknie terminala, uruchamiamy program \\[Bq]odczytujący\\[rq], który " "tworzy segment pamięci dzielonej Systemu\\ V oraz zestaw semaforów Systemu\\ " "V. Program wypisuje identyfikatory dzielonych obiektów, a następnie oczekuje " "na zmianę wartości przez semafor." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "$ B<./svshm_string_read>\n" "shmid = 1114194; semid = 15\n" msgstr "" "$ B<./svshm_string_read>\n" "shmid = 1114194; semid = 15\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "In another terminal window, we run the \"writer\" program. The \"writer\" " "program takes three command-line arguments: the IDs of the shared memory " "segment and semaphore set created by the \"reader\", and a string. It " "attaches the existing shared memory segment, copies the string to the shared " "memory, and modifies the semaphore value." msgstr "" "W drugim oknie terminala, uruchamiamy program \\[Bq]zapisujący\\[rq]. " "Przyjmuje on trzy argumenty w wierszu polecenia: identyfikatory: segmentu " "pamięci dzielonej i zestawu semaforów utworzone przez program " "\\[Bq]odczytujący\\[rq] oraz łańcuch. Dołącza on istniejący segment pamięci " "dzielonej, kopiuje łańcuch do pamięci dzielonej i modyfikuje wartość " "semafora." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "$ B<./svshm_string_write 1114194 15 \\[aq]Hello, world\\[aq]>\n" msgstr "$ B<./svshm_string_write 1114194 15 \\[aq]Witaj świecie!\\[aq]>\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Returning to the terminal where the \"reader\" is running, we see that the " "program has ceased waiting on the semaphore and has printed the string that " "was copied into the shared memory segment by the writer:" msgstr "" "Powracając do terminala, gdzie działa program \\[Bq]odczytujący\\[rq] " "widzimy, że program przestał oczekiwać na semafor i wypisał łańcuch, który " "został skopiowany do segmentu pamięci dzielonej przez program " "\\[Bq]zapisujący\\[rq]:" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Hello, world\n" msgstr "Witaj świecie!\n" #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Program source: svshm_string.h" msgstr "Kod źródłowy: svshm_string.h" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The following header file is included by the \"reader\" and \"writer\" " "programs:" msgstr "" "Poniższy plik nagłówkowy jest dołączany przez programy: " "\\[Bq]odczytujący\\[rq] i \\[Bq]zapisujący\\[rq]:" #. type: Plain text #: archlinux debian-unstable opensuse-tumbleweed #, no-wrap msgid "" "/* svshm_string.h\n" "\\&\n" " Licensed under GNU General Public License v2 or later.\n" "*/\n" "#ifndef SVSHM_STRING_H\n" "#define SVSHM_STRING_H\n" "\\&\n" "#include Estdio.hE\n" "#include Estdlib.hE\n" "#include Esys/sem.hE\n" "\\&\n" "#define errExit(msg) do { perror(msg); exit(EXIT_FAILURE); \\e\n" " } while (0)\n" "\\&\n" "union semun { /* Used in calls to semctl() */\n" " int val;\n" " struct semid_ds *buf;\n" " unsigned short *array;\n" "#if defined(__linux__)\n" " struct seminfo *__buf;\n" "#endif\n" "};\n" "\\&\n" "#define MEM_SIZE 4096\n" "\\&\n" "#endif // include guard\n" msgstr "" "/* svshm_string.h\n" "\\&\n" " Na licencji GNU General Public License v2 lub późniejszej.\n" "*/\n" "#ifndef SVSHM_STRING_H\n" "#define SVSHM_STRING_H\n" "\\&\n" "#include Estdio.hE\n" "#include Estdlib.hE\n" "#include Esys/sem.hE\n" "\\&\n" "#define errExit(msg) do { perror(msg); exit(EXIT_FAILURE); \\e\n" " } while (0)\n" "\\&\n" "union semun { /* Używane w wywołaniach do semctl() */\n" " int val;\n" " struct semid_ds *buf;\n" " unsigned short *array;\n" "#if defined(__linux__)\n" " struct seminfo *__buf;\n" "#endif\n" "};\n" "\\&\n" "#define MEM_SIZE 4096\n" "\\&\n" "#endif // include guard (ochr. przed wielokr. przetw.)\n" #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Program source: svshm_string_read.c" msgstr "Kod źródłowy programu: svshm_string_read.c" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The \"reader\" program creates a shared memory segment and a semaphore set " "containing one semaphore. It then attaches the shared memory object into " "its address space and initializes the semaphore value to 1. Finally, the " "program waits for the semaphore value to become 0, and afterwards prints the " "string that has been copied into the shared memory segment by the \"writer\"." msgstr "" "Program \\[Bq]odczytujący\\[rq] tworzy segment pamięci dzielonej i zestaw " "semaforów, zawierający jeden semafor. Następnie dołącza obiekt pamięci " "dzielonej do swojej przestrzeni adresowej i inicjuje wartość semafora na 1. " "Na końcu, oczekuje na przyjęcie przez semafor wartości 0; wówczas wypisuje " "łańcuch, który został skopiowany do segmentu pamięci dzielonej przez program " "\\[Bq]zapisujący\\[rq]." #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed #, no-wrap msgid "" "/* svshm_string_read.c\n" "\\&\n" " Licensed under GNU General Public License v2 or later.\n" "*/\n" "#include Estdio.hE\n" "#include Estdlib.hE\n" "#include Esys/ipc.hE\n" "#include Esys/sem.hE\n" "#include Esys/shm.hE\n" "\\&\n" "#include \"svshm_string.h\"\n" "\\&\n" "int\n" "main(void)\n" "{\n" " int semid, shmid;\n" " char *addr;\n" " union semun arg, dummy;\n" " struct sembuf sop;\n" "\\&\n" " /* Create shared memory and semaphore set containing one\n" " semaphore. */\n" "\\&\n" " shmid = shmget(IPC_PRIVATE, MEM_SIZE, IPC_CREAT | 0600);\n" " if (shmid == -1)\n" " errExit(\"shmget\");\n" "\\&\n" " semid = semget(IPC_PRIVATE, 1, IPC_CREAT | 0600);\n" " if (semid == -1)\n" " errExit(\"semget\");\n" "\\&\n" " /* Attach shared memory into our address space. */\n" "\\&\n" " addr = shmat(shmid, NULL, SHM_RDONLY);\n" " if (addr == (void *) -1)\n" " errExit(\"shmat\");\n" "\\&\n" " /* Initialize semaphore 0 in set with value 1. */\n" "\\&\n" " arg.val = 1;\n" " if (semctl(semid, 0, SETVAL, arg) == -1)\n" " errExit(\"semctl\");\n" "\\&\n" " printf(\"shmid = %d; semid = %d\\en\", shmid, semid);\n" "\\&\n" " /* Wait for semaphore value to become 0. */\n" "\\&\n" " sop.sem_num = 0;\n" " sop.sem_op = 0;\n" " sop.sem_flg = 0;\n" "\\&\n" " if (semop(semid, &sop, 1) == -1)\n" " errExit(\"semop\");\n" "\\&\n" " /* Print the string from shared memory. */\n" "\\&\n" " printf(\"%s\\en\", addr);\n" "\\&\n" " /* Remove shared memory and semaphore set. */\n" "\\&\n" " if (shmctl(shmid, IPC_RMID, NULL) == -1)\n" " errExit(\"shmctl\");\n" " if (semctl(semid, 0, IPC_RMID, dummy) == -1)\n" " errExit(\"semctl\");\n" "\\&\n" " exit(EXIT_SUCCESS);\n" "}\n" msgstr "" "/* svshm_string_read.c\n" "\\&\n" " Na licencji GNU General Public License v2 lub późniejszej.\n" "*/\n" "#include Estdio.hE\n" "#include Estdlib.hE\n" "#include Esys/ipc.hE\n" "#include Esys/sem.hE\n" "#include Esys/shm.hE\n" "\\&\n" "#include \"svshm_string.h\"\n" "\\&\n" "int\n" "main(void)\n" "{\n" " int semid, shmid;\n" " char *addr;\n" " union semun arg, dummy;\n" " struct sembuf sop;\n" "\\&\n" " /* Utworzenie pamięci dzielonej i zestawu semaforów, zawierającego\n" " jeden semafor. */\n" "\\&\n" " shmid = shmget(IPC_PRIVATE, MEM_SIZE, IPC_CREAT | 0600);\n" " if (shmid == -1)\n" " errExit(\"shmget\");\n" "\\&\n" " semid = semget(IPC_PRIVATE, 1, IPC_CREAT | 0600);\n" " if (semid == -1)\n" " errExit(\"semget\");\n" "\\&\n" " /* Dołączenie pamięci dzielonej do naszej przestrzeni adresowej. */\n" "\\&\n" " addr = shmat(shmid, NULL, SHM_RDONLY);\n" " if (addr == (void *) -1)\n" " errExit(\"shmat\");\n" "\\&\n" " /* Zainicjowanie semafora 0 w zestawie, z wartością 1. */\n" "\\&\n" " arg.val = 1;\n" " if (semctl(semid, 0, SETVAL, arg) == -1)\n" " errExit(\"semctl\");\n" "\\&\n" " printf(\"shmid = %d; semid = %d\\en\", shmid, semid);\n" "\\&\n" " /* Oczekiwanie na przyjęcie przez semafor wartości 0. */\n" "\\&\n" " sop.sem_num = 0;\n" " sop.sem_op = 0;\n" " sop.sem_flg = 0;\n" "\\&\n" " if (semop(semid, &sop, 1) == -1)\n" " errExit(\"semop\");\n" "\\&\n" " /* Wypisanie łańcucha z pamięci dzielonej. */\n" "\\&\n" " printf(\"%s\\en\", addr);\n" "\\&\n" " /* Usunięcie pamięci dzielonej i zestawu semaforów. */\n" "\\&\n" " if (shmctl(shmid, IPC_RMID, NULL) == -1)\n" " errExit(\"shmctl\");\n" " if (semctl(semid, 0, IPC_RMID, dummy) == -1)\n" " errExit(\"semctl\");\n" "\\&\n" " exit(EXIT_SUCCESS);\n" "}\n" #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Program source: svshm_string_write.c" msgstr "Kod źródłowy programu: svshm_string_write.c" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The writer program takes three command-line arguments: the IDs of the shared " "memory segment and semaphore set that have already been created by the " "\"reader\", and a string. It attaches the shared memory segment into its " "address space, and then decrements the semaphore value to 0 in order to " "inform the \"reader\" that it can now examine the contents of the shared " "memory." msgstr "" "Program \\[Bq]zapisujący\\[rq] przyjmuje trzy argumenty w wierszu polecenia: " "identyfikatory: segmentu pamięci dzielonej i zestawu semaforów utworzone " "przez program \\[Bq]odczytujący\\[rq] oraz łańcuch. Dołącza on istniejący " "segment pamięci dzielonej do swojej przestrzeni adresowej i zmniejsza " "wartość semafora na 0, w celu poinformowania programu " "\\[Bq]odczytującego\\[rq], że może on teraz sprawdzić zawartość pamięci " "dzielonej." #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed #, no-wrap msgid "" "/* svshm_string_write.c\n" "\\&\n" " Licensed under GNU General Public License v2 or later.\n" "*/\n" "#include Estdio.hE\n" "#include Estdlib.hE\n" "#include Estring.hE\n" "#include Esys/sem.hE\n" "#include Esys/shm.hE\n" "\\&\n" "#include \"svshm_string.h\"\n" "\\&\n" "int\n" "main(int argc, char *argv[])\n" "{\n" " int semid, shmid;\n" " char *addr;\n" " size_t len;\n" " struct sembuf sop;\n" "\\&\n" " if (argc != 4) {\n" " fprintf(stderr, \"Usage: %s shmid semid string\\en\", argv[0]);\n" " exit(EXIT_FAILURE);\n" " }\n" "\\&\n" " len = strlen(argv[3]) + 1; /* +1 to include trailing \\[aq]\\e0\\[aq] */\n" " if (len E MEM_SIZE) {\n" " fprintf(stderr, \"String is too big!\\en\");\n" " exit(EXIT_FAILURE);\n" " }\n" "\\&\n" " /* Get object IDs from command-line. */\n" "\\&\n" " shmid = atoi(argv[1]);\n" " semid = atoi(argv[2]);\n" "\\&\n" " /* Attach shared memory into our address space and copy string\n" " (including trailing null byte) into memory. */\n" "\\&\n" " addr = shmat(shmid, NULL, 0);\n" " if (addr == (void *) -1)\n" " errExit(\"shmat\");\n" "\\&\n" " memcpy(addr, argv[3], len);\n" "\\&\n" " /* Decrement semaphore to 0. */\n" "\\&\n" " sop.sem_num = 0;\n" " sop.sem_op = -1;\n" " sop.sem_flg = 0;\n" "\\&\n" " if (semop(semid, &sop, 1) == -1)\n" " errExit(\"semop\");\n" "\\&\n" " exit(EXIT_SUCCESS);\n" "}\n" msgstr "" "/* svshm_string_write.c\n" "\\&\n" " Na licencji GNU General Public License v2 lub późniejszej.\n" "*/\n" "#include Estdio.hE\n" "#include Estdlib.hE\n" "#include Estring.hE\n" "#include Esys/sem.hE\n" "#include Esys/shm.hE\n" "\\&\n" "#include \"svshm_string.h\"\n" "\\&\n" "int\n" "main(int argc, char *argv[])\n" "{\n" " int semid, shmid;\n" " char *addr;\n" " size_t len;\n" " struct sembuf sop;\n" "\\&\n" " if (argc != 4) {\n" " fprintf(stderr, \"Użycie: %s shmid semid łańcuch\\en\", argv[0]);\n" " exit(EXIT_FAILURE);\n" " }\n" "\\&\n" " len = strlen(argv[3]) + 1; /* +1 aby objąć końcowe \\[aq]\\e0\\[aq] */\n" " if (len E MEM_SIZE) {\n" " fprintf(stderr, \"Łańcuch jest zbyt długi!\\en\");\n" " exit(EXIT_FAILURE);\n" " }\n" "\\&\n" " /* Pobranie ID obiektów z wiersza polecenia. */\n" "\\&\n" " shmid = atoi(argv[1]);\n" " semid = atoi(argv[2]);\n" "\\&\n" " /* Dołączenie pamięci dzielonej do naszej przestrzeni adresowej\n" " i skopiowanie łańcucha (wraz z końcowym bajtem null) do pamięci. */\n" "\\&\n" " addr = shmat(shmid, NULL, 0);\n" " if (addr == (void *) -1)\n" " errExit(\"shmat\");\n" "\\&\n" " memcpy(addr, argv[3], len);\n" "\\&\n" " /* Zmniejszenie semafora do 0. */\n" "\\&\n" " sop.sem_num = 0;\n" " sop.sem_op = -1;\n" " sop.sem_flg = 0;\n" "\\&\n" " if (semop(semid, &sop, 1) == -1)\n" " errExit(\"semop\");\n" "\\&\n" " exit(EXIT_SUCCESS);\n" "}\n" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "SEE ALSO" msgstr "ZOBACZ TAKŻE" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "B(2), B(2), B(2), B(2), B(7), " "B(7), B(7)" msgstr "" "B(2), B(2), B(2), B(2), B(7), " "B(7), B(7)" #. type: TH #: debian-bookworm #, no-wrap msgid "2023-02-05" msgstr "5 lutego 2023 r." #. type: TH #: debian-bookworm #, no-wrap msgid "Linux man-pages 6.03" msgstr "Linux man-pages 6.03" #. SVr4 documents an additional error condition EMFILE. #. type: Plain text #: debian-bookworm msgid "POSIX.1-2001, POSIX.1-2008, SVr4." msgstr "POSIX.1-2001, POSIX.1-2008, SVr4." #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "/* svshm_string.h\n" msgstr "/* svshm_string.h\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " Licensed under GNU General Public License v2 or later.\n" "*/\n" "#include Esys/types.hE\n" "#include Esys/ipc.hE\n" "#include Esys/shm.hE\n" "#include Esys/sem.hE\n" "#include Estdio.hE\n" "#include Estdlib.hE\n" "#include Estring.hE\n" msgstr "" " Na licencji GNU General Public License v2 lub późniejszej.\n" "*/\n" "#include Esys/types.hE\n" "#include Esys/ipc.hE\n" "#include Esys/shm.hE\n" "#include Esys/sem.hE\n" "#include Estdio.hE\n" "#include Estdlib.hE\n" "#include Estring.hE\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "#define errExit(msg) do { perror(msg); exit(EXIT_FAILURE); \\e\n" " } while (0)\n" msgstr "" "#define errExit(msg) do { perror(msg); exit(EXIT_FAILURE); \\e\n" " } while (0)\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "union semun { /* Used in calls to semctl() */\n" " int val;\n" " struct semid_ds * buf;\n" " unsigned short * array;\n" "#if defined(__linux__)\n" " struct seminfo * __buf;\n" "#endif\n" "};\n" msgstr "" "union semun { /* Używane w wywołaniach do semctl() */\n" " int val;\n" " struct semid_ds * buf;\n" " unsigned short * array;\n" "#if defined(__linux__)\n" " struct seminfo * __buf;\n" "#endif\n" "};\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "#define MEM_SIZE 4096\n" msgstr "#define MEM_SIZE 4096\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "/* svshm_string_read.c\n" msgstr "/* svshm_string_read.c\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " Licensed under GNU General Public License v2 or later.\n" "*/\n" "#include Estdio.hE\n" "#include Estdlib.hE\n" "#include Esys/ipc.hE\n" "#include Esys/sem.hE\n" "#include Esys/shm.hE\n" msgstr "" " Na licencji GNU General Public License v2 lub późniejszej.\n" "*/\n" "#include Estdio.hE\n" "#include Estdlib.hE\n" "#include Esys/ipc.hE\n" "#include Esys/sem.hE\n" "#include Esys/shm.hE\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "#include \"svshm_string.h\"\n" msgstr "#include \"svshm_string.h\"\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "int\n" "main(void)\n" "{\n" " int semid, shmid;\n" " char *addr;\n" " union semun arg, dummy;\n" " struct sembuf sop;\n" msgstr "" "int\n" "main(void)\n" "{\n" " int semid, shmid;\n" " char *addr;\n" " union semun arg, dummy;\n" " struct sembuf sop;\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " /* Create shared memory and semaphore set containing one\n" " semaphore. */\n" msgstr "" " /* Utworzenie pamięci dzielonej i zestawu semaforów, zawierającego\n" " jeden semafor. */\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " shmid = shmget(IPC_PRIVATE, MEM_SIZE, IPC_CREAT | 0600);\n" " if (shmid == -1)\n" " errExit(\"shmget\");\n" msgstr "" " shmid = shmget(IPC_PRIVATE, MEM_SIZE, IPC_CREAT | 0600);\n" " if (shmid == -1)\n" " errExit(\"shmget\");\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " semid = semget(IPC_PRIVATE, 1, IPC_CREAT | 0600);\n" " if (semid == -1)\n" " errExit(\"semget\");\n" msgstr "" " semid = semget(IPC_PRIVATE, 1, IPC_CREAT | 0600);\n" " if (semid == -1)\n" " errExit(\"semget\");\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid " /* Attach shared memory into our address space. */\n" msgstr " /* Dołączenie pamięci dzielonej do naszej przestrzeni adresowej. */\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " addr = shmat(shmid, NULL, SHM_RDONLY);\n" " if (addr == (void *) -1)\n" " errExit(\"shmat\");\n" msgstr "" " addr = shmat(shmid, NULL, SHM_RDONLY);\n" " if (addr == (void *) -1)\n" " errExit(\"shmat\");\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid " /* Initialize semaphore 0 in set with value 1. */\n" msgstr " /* Zainicjowanie semafora 0 w zestawie, z wartością 1. */\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " arg.val = 1;\n" " if (semctl(semid, 0, SETVAL, arg) == -1)\n" " errExit(\"semctl\");\n" msgstr "" " arg.val = 1;\n" " if (semctl(semid, 0, SETVAL, arg) == -1)\n" " errExit(\"semctl\");\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid " printf(\"shmid = %d; semid = %d\\en\", shmid, semid);\n" msgstr " printf(\"shmid = %d; semid = %d\\en\", shmid, semid);\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid " /* Wait for semaphore value to become 0. */\n" msgstr " /* Oczekiwanie na przyjęcie przez semafor wartości 0. */\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " sop.sem_num = 0;\n" " sop.sem_op = 0;\n" " sop.sem_flg = 0;\n" msgstr "" " sop.sem_num = 0;\n" " sop.sem_op = 0;\n" " sop.sem_flg = 0;\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " if (semop(semid, &sop, 1) == -1)\n" " errExit(\"semop\");\n" msgstr "" " if (semop(semid, &sop, 1) == -1)\n" " errExit(\"semop\");\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid " /* Print the string from shared memory. */\n" msgstr " /* Wypisanie łańcucha z pamięci dzielonej. */\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid " printf(\"%s\\en\", addr);\n" msgstr " printf(\"%s\\en\", addr);\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid " /* Remove shared memory and semaphore set. */\n" msgstr " /* Usunięcie pamięci dzielonej i zestawu semaforów. */\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " if (shmctl(shmid, IPC_RMID, NULL) == -1)\n" " errExit(\"shmctl\");\n" " if (semctl(semid, 0, IPC_RMID, dummy) == -1)\n" " errExit(\"semctl\");\n" msgstr "" " if (shmctl(shmid, IPC_RMID, NULL) == -1)\n" " errExit(\"shmctl\");\n" " if (semctl(semid, 0, IPC_RMID, dummy) == -1)\n" " errExit(\"semctl\");\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " exit(EXIT_SUCCESS);\n" "}\n" msgstr "" " exit(EXIT_SUCCESS);\n" "}\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "/* svshm_string_write.c\n" msgstr "/* svshm_string_write.c\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " Licensed under GNU General Public License v2 or later.\n" "*/\n" "#include Estdio.hE\n" "#include Estdlib.hE\n" "#include Estring.hE\n" "#include Esys/sem.hE\n" "#include Esys/shm.hE\n" msgstr "" " Na licencji GNU General Public License v2 lub późniejszej.\n" "*/\n" "#include Estdio.hE\n" "#include Estdlib.hE\n" "#include Estring.hE\n" "#include Esys/sem.hE\n" "#include Esys/shm.hE\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "int\n" "main(int argc, char *argv[])\n" "{\n" " int semid, shmid;\n" " char *addr;\n" " size_t len;\n" " struct sembuf sop;\n" msgstr "" "int\n" "main(int argc, char *argv[])\n" "{\n" " int semid, shmid;\n" " char *addr;\n" " size_t len;\n" " struct sembuf sop;\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " if (argc != 4) {\n" " fprintf(stderr, \"Usage: %s shmid semid string\\en\", argv[0]);\n" " exit(EXIT_FAILURE);\n" " }\n" msgstr "" " if (argc != 4) {\n" " fprintf(stderr, \"Użycie: %s shmid semid łańcuch\\en\", argv[0]);\n" " exit(EXIT_FAILURE);\n" " }\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " len = strlen(argv[3]) + 1; /* +1 to include trailing \\[aq]\\e0\\[aq] */\n" " if (len E MEM_SIZE) {\n" " fprintf(stderr, \"String is too big!\\en\");\n" " exit(EXIT_FAILURE);\n" " }\n" msgstr "" " len = strlen(argv[3]) + 1; /* +1 aby objąć końcowe \\[aq]\\e0\\[aq] */\n" " if (len E MEM_SIZE) {\n" " fprintf(stderr, \"Łańcuch jest zbyt długi!\\en\");\n" " exit(EXIT_FAILURE);\n" " }\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid " /* Get object IDs from command-line. */\n" msgstr " /* Pobranie ID obiektów z wiersza polecenia. */\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " shmid = atoi(argv[1]);\n" " semid = atoi(argv[2]);\n" msgstr "" " shmid = atoi(argv[1]);\n" " semid = atoi(argv[2]);\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " /* Attach shared memory into our address space and copy string\n" " (including trailing null byte) into memory. */\n" msgstr "" " /* Dołączenie pamięci dzielonej do naszej przestrzeni adresowej\n" " i skopiowanie łańcucha (wraz z końcowym bajtem null) do pamięci. */\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " addr = shmat(shmid, NULL, 0);\n" " if (addr == (void *) -1)\n" " errExit(\"shmat\");\n" msgstr "" " addr = shmat(shmid, NULL, 0);\n" " if (addr == (void *) -1)\n" " errExit(\"shmat\");\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid " memcpy(addr, argv[3], len);\n" msgstr " memcpy(addr, argv[3], len);\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid " /* Decrement semaphore to 0. */\n" msgstr " /* Zmniejszenie semafora do 0. */\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " sop.sem_num = 0;\n" " sop.sem_op = -1;\n" " sop.sem_flg = 0;\n" msgstr "" " sop.sem_num = 0;\n" " sop.sem_op = -1;\n" " sop.sem_flg = 0;\n" #. type: TH #: fedora-40 fedora-rawhide mageia-cauldron #, no-wrap msgid "2023-10-31" msgstr "31 października 2023 r." #. type: TH #: fedora-40 mageia-cauldron #, no-wrap msgid "Linux man-pages 6.06" msgstr "Linux man-pages 6.06" #. type: Plain text #: fedora-40 fedora-rawhide mageia-cauldron #, no-wrap msgid "" "/* svshm_string.h\n" "\\&\n" " Licensed under GNU General Public License v2 or later.\n" "*/\n" "#include Esys/types.hE\n" "#include Esys/ipc.hE\n" "#include Esys/shm.hE\n" "#include Esys/sem.hE\n" "#include Estdio.hE\n" "#include Estdlib.hE\n" "#include Estring.hE\n" "\\&\n" "#define errExit(msg) do { perror(msg); exit(EXIT_FAILURE); \\e\n" " } while (0)\n" "\\&\n" "union semun { /* Used in calls to semctl() */\n" " int val;\n" " struct semid_ds * buf;\n" " unsigned short * array;\n" "#if defined(__linux__)\n" " struct seminfo * __buf;\n" "#endif\n" "};\n" "\\&\n" "#define MEM_SIZE 4096\n" msgstr "" "/* svshm_string.h\n" "\\&\n" " Na licencji GNU General Public License v2 lub późniejszej.\n" "*/\n" "#include Esys/types.hE\n" "#include Esys/ipc.hE\n" "#include Esys/shm.hE\n" "#include Esys/sem.hE\n" "#include Estdio.hE\n" "#include Estdlib.hE\n" "#include Estring.hE\n" "\\&\n" "#define errExit(msg) do { perror(msg); exit(EXIT_FAILURE); \\e\n" " } while (0)\n" "\\&\n" "union semun { /* Używane w wywołaniach do semctl() */\n" " int val;\n" " struct semid_ds * buf;\n" " unsigned short * array;\n" "#if defined(__linux__)\n" " struct seminfo * __buf;\n" "#endif\n" "};\n" "\\&\n" "#define MEM_SIZE 4096\n" #. type: TH #: fedora-rawhide #, no-wrap msgid "Linux man-pages 6.7" msgstr "Linux man-pages 6.7" #. type: TH #: opensuse-leap-15-6 #, no-wrap msgid "2023-03-30" msgstr "30 marca 2023 r." #. type: TH #: opensuse-leap-15-6 #, no-wrap msgid "Linux man-pages 6.04" msgstr "Linux man-pages 6.04" #. type: TH #: opensuse-tumbleweed #, no-wrap msgid "Linux man-pages (unreleased)" msgstr "Linux man-pages (niewydane)"