[RFR] man://manpages-l10n/attributes.7.po (2/3) (2/2)
From
Helge Kreutzmann@21:1/5 to
All on Sun Feb 25 21:10:04 2024
[continued from previous message]
#. the mark may be followed by a colon and an identifier.
#. The identifier groups all functions that operate on a
#. certain unguarded object; users may avoid the MT-Safety issues related
#. with unguarded concurrent access to such internal objects by creating a
#. non-recursive mutex related with the identifier,
#. and always holding the mutex when calling any function marked
#. as racy on that identifier,
#. as they would have to should the identifier be
#. an object under user control.
#. The non-recursive mutex avoids the MT-Safety issue,
#. but it trades one AS-Safety issue for another,
#. so use in asynchronous signals remains undefined.
#. When the identifier relates to a static buffer used to hold return values, #. the mutex must be held for as long as the buffer remains in use
#. by the caller.
#. Many functions that return pointers to static buffers offer reentrant
#. variants that store return values in caller-supplied buffers instead.
#. In some cases, such as
#. .BR tmpname (3),
#. the variant is chosen not by calling an alternate entry point,
#. but by passing a non-NULL pointer to the buffer in which the
#. returned values are to be stored.
#. These variants are generally preferable in multi-threaded programs,
#. although some of them are not MT-Safe because of other internal buffers,
#. also documented with
#. .I race
#. notes.
#. type: Plain text
#. #-#-#-#-# opensuse-leap-15-6: attributes.7.pot (PACKAGE VERSION) #-#-#-#-# #. We consider access to objects passed as (indirect) arguments to
#. functions to be data race free.
#. The assurance of data race free objects
#. is the caller's responsibility.
#. We will not mark a function as MT-Unsafe or AS-Unsafe
#. if it misbehaves when users fail to take the measures required by
#. POSIX to avoid data races when dealing with such objects.
#. As a general rule, if a function is documented as reading from
#. an object passed (by reference) to it, or modifying it,
#. users ought to use memory synchronization primitives
#. to avoid data races just as they would should they perform
#. the accesses themselves rather than by calling the library function.
#. Standard I/O
#. .RI ( "FILE *" )
#. streams are the exception to the general rule,
#. in that POSIX mandates the library to guard against data races
#. in many functions that manipulate objects of this specific opaque type.
#. We regard this as a convenience provided to users,
#. rather than as a general requirement whose expectations
#. should extend to other types.
#. In order to remind users that guarding certain arguments is their
#. responsibility, we will annotate functions that take objects of certain
#. types as arguments.
#. We draw the line for objects passed by users as follows:
#. objects whose types are exposed to users,
#. and that users are expected to access directly,
#. such as memory buffers, strings,
#. and various user-visible structured types, do
#. .I not
#. give reason for functions to be annotated with
#. .IR race .
#. It would be noisy and redundant with the general requirement,
#. and not many would be surprised by the library's lack of internal
#. guards when accessing objects that can be accessed directly by users.
#. As for objects that are opaque or opaque-like,
#. in that they are to be manipulated only by passing them
#. to library functions (e.g.,
#. .IR FILE ,
#. .IR DIR ,
#. .IR obstack ,
#. .IR iconv_t ),
#. there might be additional expectations as to internal coordination
#. of access by the library.
#. We will annotate, with
#. .I race
#. followed by a colon and the argument name,
#. functions that take such objects but that do not take
#. care of synchronizing access to them by default.
#. For example,
#. .I FILE
#. stream
#. .I unlocked
#. functions
#. .RB ( unlocked_stdio (3))
#. will be annotated,
#. but those that perform implicit locking on
#. .I FILE
#. streams by default will not,
#. even though the implicit locking may be disabled on a per-stream basis.
#. In either case, we will not regard as MT-Unsafe functions that may
#. access user-supplied objects in unsafe ways should users fail to ensure
#. the accesses are well defined.
#. The notion prevails that users are expected to safeguard against
#. data races any user-supplied objects that the library accesses
#. on their behalf.
#. .\" The above describes @mtsrace; @mtasurace is described below.
#. This user responsibility does not apply, however,
#. to objects controlled by the library itself,
#. such as internal objects and static buffers used
#. to return values from certain calls.
#. When the library doesn't guard them against concurrent uses,
#. these cases are regarded as MT-Unsafe and AS-Unsafe (although the
#. .I race
#. mark under AS-Unsafe will be omitted
#. as redundant with the one under MT-Unsafe).
#. As in the case of user-exposed objects,
#. the mark may be followed by a colon and an identifier.
#. The identifier groups all functions that operate on a
#. certain unguarded object; users may avoid the MT-Safety issues related
#. with unguarded concurrent access to such internal objects by creating a
#. non-recursive mutex related with the identifier,
#. and always holding the mutex when calling any function marked
#. as racy on that identifier,
#. as they would have to should the identifier be
#. an object under user control.
#. The non-recursive mutex avoids the MT-Safety issue,
#. but it trades one AS-Safety issue for another,
#. so use in asynchronous signals remains undefined.
#. When the identifier relates to a static buffer used to hold return values, #. the mutex must be held for as long as the buffer remains in use
#. by the caller.
#. Many functions that return pointers to static buffers offer reentrant
#. variants that store return values in caller-supplied buffers instead.
#. In some cases, such as
#. .BR tmpname (3),
#. the variant is chosen not by calling an alternate entry point,
#. but by passing a non-NULL pointer to the buffer in which the
#. returned values are to be stored.
#. These variants are generally preferable in multi-threaded programs,
#. although some of them are not MT-Safe because of other internal buffers,
#. also documented with
#. .I race
#. notes.
#. type: Plain text
#. #-#-#-#-# opensuse-tumbleweed: attributes.7.pot (PACKAGE VERSION) #-#-#-#-#
#. We consider access to objects passed as (indirect) arguments to
#. functions to be data race free.
#. The assurance of data race free objects
#. is the caller's responsibility.
#. We will not mark a function as MT-Unsafe or AS-Unsafe
#. if it misbehaves when users fail to take the measures required by
#. POSIX to avoid data races when dealing with such objects.
#. As a general rule, if a function is documented as reading from
#. an object passed (by reference) to it, or modifying it,
#. users ought to use memory synchronization primitives
#. to avoid data races just as they would should they perform
#. the accesses themselves rather than by calling the library function.
#. Standard I/O
#. .RI ( "FILE *" )
#. streams are the exception to the general rule,
#. in that POSIX mandates the library to guard against data races
#. in many functions that manipulate objects of this specific opaque type.
#. We regard this as a convenience provided to users,
#. rather than as a general requirement whose expectations
#. should extend to other types.
#. In order to remind users that guarding certain arguments is their
#. responsibility, we will annotate functions that take objects of certain
#. types as arguments.
#. We draw the line for objects passed by users as follows:
#. objects whose types are exposed to users,
#. and that users are expected to access directly,
#. such as memory buffers, strings,
#. and various user-visible structured types, do
#. .I not
#. give reason for functions to be annotated with
#. .IR race .
#. It would be noisy and redundant with the general requirement,
#. and not many would be surprised by the library's lack of internal
#. guards when accessing objects that can be accessed directly by users.
#. As for objects that are opaque or opaque-like,
#. in that they are to be manipulated only by passing them
#. to library functions (e.g.,
#. .IR FILE ,
#. .IR DIR ,
#. .IR obstack ,
#. .IR iconv_t ),
#. there might be additional expectations as to internal coordination
#. of access by the library.
#. We will annotate, with
#. .I race
#. followed by a colon and the argument name,
#. functions that take such objects but that do not take
#. care of synchronizing access to them by default.
#. For example,
#. .I FILE
#. stream
#. .I unlocked
#. functions
#. .RB ( unlocked_stdio (3))
#. will be annotated,
#. but those that perform implicit locking on
#. .I FILE
#. streams by default will not,
#. even though the implicit locking may be disabled on a per-stream basis.
#. In either case, we will not regard as MT-Unsafe functions that may
#. access user-supplied objects in unsafe ways should users fail to ensure
#. the accesses are well defined.
#. The notion prevails that users are expected to safeguard against
#. data races any user-supplied objects that the library accesses
#. on their behalf.
#. .\" The above describes @mtsrace; @mtasurace is described below.
#. This user responsibility does not apply, however,
#. to objects controlled by the library itself,
#. such as internal objects and static buffers used
#. to return values from certain calls.
#. When the library doesn't guard them against concurrent uses,
#. these cases are regarded as MT-Unsafe and AS-Unsafe (although the
#. .I race
#. mark under AS-Unsafe will be omitted
#. as redundant with the one under MT-Unsafe).
#. As in the case of user-exposed objects,
#. the mark may be followed by a colon and an identifier.
#. The identifier groups all functions that operate on a
#. certain unguarded object; users may avoid the MT-Safety issues related
#. with unguarded concurrent access to such internal objects by creating a
#. non-recursive mutex related with the identifier,
#. and always holding the mutex when calling any function marked
#. as racy on that identifier,
#. as they would have to should the identifier be
#. an object under user control.
#. The non-recursive mutex avoids the MT-Safety issue,
#. but it trades one AS-Safety issue for another,
#. so use in asynchronous signals remains undefined.
#. When the identifier relates to a static buffer used to hold return values, #. the mutex must be held for as long as the buffer remains in use
#. by the caller.
#. Many functions that return pointers to static buffers offer reentrant
#. variants that store return values in caller-supplied buffers instead.
#. In some cases, such as
#. .BR tmpname (3),
#. the variant is chosen not by calling an alternate entry point,
#. but by passing a non-NULL pointer to the buffer in which the
#. returned values are to be stored.
#. These variants are generally preferable in multi-threaded programs,
#. although some of them are not MT-Safe because of other internal buffers,
#. also documented with
#. .I race
#. notes.
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"Functions annotated with I<race> as an MT-Safety issue operate on objects in " "ways that may cause data races or similar forms of destructive interference " "out of concurrent execution. In some cases, the objects are passed to the " "functions by users; in others, they are used by the functions to return " "values to users; in others, they are not even exposed to users."
msgstr ""
"Mit I<race> als MT-Safety-Problem kommentierte Funktionen agieren auf " "Objekten derart, dass Ressourcenwettläufe auf Daten oder ähnliche Formen " "desktruktiven Störens bei nebenläufiger Ausführung ausgelöst werden. In " "einigen Fällen werden die Objekte durch Benutzer an die Funktionen " "übergeben. In anderen Fällen werden sie von den Funktionen verwandt, um " "Werte an Benutzer zurückzugeben. In wieder anderen werden sie noch nicht mal "
"gegenüber Benutzern offengelegt."
#. type: TP
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
#, no-wrap
msgid "I<const>"
msgstr "I<const>"
#. and AS-Unsafe,
#. equally
#. and AS-Unsafe
#. and AS-Safe
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"Functions marked with I<const> as an MT-Safety issue non-atomically modify " "internal objects that are better regarded as constant, because a substantial " "portion of the GNU C Library accesses them without synchronization. Unlike " "I<race>, which causes both readers and writers of internal objects to be " "regarded as MT-Unsafe, this mark is applied to writers only. Writers remain " "MT-Unsafe to call, but the then-mandatory constness of objects they modify " "enables readers to be regarded as MT-Safe (as long as no other reasons for " "them to be unsafe remain), since the lack of synchronization is not a " "problem when the objects are effectively constant."
msgstr ""
"Mit I<const> als MT-Safety-Problem markierte Funktionen verändern interne " "Objekte nicht atomar, die besser als konstant betrachtet werden, da ein " "wesentlicher Anteil der GNU-C-Bibliothek auf sie ohne Synchronisierung " "zugreift. Anders als bei I<race>, bei dem sowohl schreibende als auch " "lesende Zugriffe auf interne Objekte als MT-Unsafe betrachtet werden, gilt " "diese Markierung nur für schreibende Zugriffe. Bei schreibenden Zugriffen " "bleibt der Aufruf MT-Unsafe, aber die dann-verpflichtende Konstantheit von " "Objekten, die sie verändern, ermöglicht es MT-Safe lesenden Zugriff (solange "
"es kein anderer Grund verbleibt, sie als unsicher zu betrachten), da das " "Fehlen von Synchronisierung kein Problem darstellt, wenn die Objekte " "tatsächlich konstant sind."
#
#. The non-recursive locking removes the MT-Safety problem,
#. but it trades one AS-Safety problem for another,
#. so use in asynchronous signals remains undefined.
#. .\" But what if, instead of marking modifiers with const:id and readers
#. .\" with just id, we marked writers with race:id and readers with ro:id?
#. .\" Instead of having to define each instance of 'id', we'd have a
#. .\" general pattern governing all such 'id's, wherein race:id would
#. .\" suggest the need for an exclusive/write lock to make the function
#. .\" safe, whereas ro:id would indicate 'id' is expected to be read-only,
#. .\" but if any modifiers are called (while holding an exclusive lock),
#. .\" then ro:id-marked functions ought to be guarded with a read lock for
#. .\" safe operation. ro:env or ro:locale, for example, seems to convey
#. .\" more clearly the expectations and the meaning, than just env or
#. .\" locale.
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"The identifier that follows the I<const> mark will appear by itself as a " "safety note in readers. Programs that wish to work around this safety " "issue, so as to call writers, may use a non-recursive read-write lock " "associated with the identifier, and guard I<all> calls to functions marked " "with I<const> followed by the identifier with a write lock, and I<all> calls " "to functions marked with the identifier by itself with a read lock."
msgstr ""
"Der Markierung I<const> folgende Kennzeichner taucht selbst als " "Sicherheitshinweis für Lesezugriffe auf. Programme, die dieses " "Sicherheitsproblem umgehen möchten, um Schreibzugriff durchzuführen, können "
"eine dem Kennzeichner zugeordnete nicht rekursive Lese-Schreib-Sperre " "verwenden und I<alle> Aufrufe von mit I<const> gefolgt von dem Kennzeichner " "markierten Funktionen mit einer Schreibsperre und I<alle> Aufrufe von mit " "dem Kennzeichner selbst markierten Funktionen mit einer Lesesperre absichern."
#. type: TP
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
#, no-wrap
msgid "I<sig>"
msgstr "I<sig>"
#. (that implies an identical AS-Safety issue, omitted for brevity)
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"Functions marked with I<sig> as a MT-Safety issue may temporarily install a " "signal handler for internal purposes, which may interfere with other uses of " "the signal, identified after a colon."
msgstr ""
"Mit I<sig> als MT-Safety-Problem markierte Funktionen können temporär einen "
"Signal-Handhaber für interne Zwecke installieren, der mit anderen " "Verwendungen des Signals wechselwirkt, die nach einem Doppelpunkt " "dargestellt sind."
#
#
#
#. There is no safe way to guarantee the original signal handler is
#. restored in case of asynchronous cancelation,
#. therefore so-marked functions are also AC-Unsafe.
#. .\" fixme: at least deferred cancelation should get it right, and would
#. .\" obviate the restoring bit below, and the qualifier above.
#. Besides the measures recommended to work around the
#. MT-Safety and AS-Safety problem,
#. in order to avert the cancelation problem,
#. disabling asynchronous cancelation
#. .I and
#. installing a cleanup handler to restore the signal to the desired state
#. and to release the mutex are recommended.
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"This safety problem can be worked around by ensuring that no other uses of " "the signal will take place for the duration of the call. Holding a non-" "recursive mutex while calling all functions that use the same temporary " "signal; blocking that signal before the call and resetting its handler " "afterwards is recommended."
msgstr ""
"Dieses Sicherheitsproblem kann umgangen werden, indem sichergestellt wird, " "dass während der Dauer des Aufrufs keine andere Verwendung dieses Signals " "stattfindet. Es wird empfohlen, einen nicht rekursiven Mutex beim Aufruf " "aller Funktionen, die das gleiche temporäre Signal verwenden, zu halten und " "das Signal vor dem Aufruf zu blockieren und seinen Handhaber danach " "zurückzusetzen."
#. type: TP
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
#, no-wrap
msgid "I<term>"
msgstr "I<term>"
#. The same window enables changes made by asynchronous signals to be lost.
#. These functions are also AS-Unsafe,
#. but the corresponding mark is omitted as redundant.
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"Functions marked with I<term> as an MT-Safety issue may change the terminal " "settings in the recommended way, namely: call B<tcgetattr>(3), modify some " "flags, and then call B<tcsetattr>(3), this creates a window in which changes " "made by other threads are lost. Thus, functions marked with I<term> are MT-" "Unsafe."
msgstr ""
"Mit I<term> als MT-Safety-Problem markierte Funktionen können ihre " "Terminaleinstellungen auf die empfohlene Art ändern, konkret: " "B<tcgetattr>(3) aufrufen, einige Schalter ändern und dann B<tcsetattr>(3) " "aufrufen. Dadurch entsteht ein Fenster, in dem einige durch andere Threads " "vorgenommene Änderungen verloren gehen. Daher sind mit I<term> markierte " "Funktionen MT-Unsafe."
#
#
#
#. Functions marked with
#. .I term
#. as an AC-Safety issue are supposed to
#. restore terminal settings to their original state,
#. after temporarily changing them, but they may fail to do so if canceled.
#. .\" fixme: at least deferred cancelation should get it right, and would
#. .\" obviate the restoring bit below, and the qualifier above.
#. Besides the measures recommended to work around the
#. MT-Safety and AS-Safety problem,
#. in order to avert the cancelation problem,
#. disabling asynchronous cancelation
#. .I and
#. installing a cleanup handler to
#. restore the terminal settings to the original state and to release the
#. mutex are recommended.
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"It is thus advisable for applications using the terminal to avoid concurrent " "and reentrant interactions with it, by not using it in signal handlers or " "blocking signals that might use it, and holding a lock while calling these " "functions and interacting with the terminal. This lock should also be used " "for mutual exclusion with functions marked with I<race:tcattr(fd)>, where " "I<fd> is a file descriptor for the controlling terminal. The caller may use " "a single mutex for simplicity, or use one mutex per terminal, even if " "referenced by different file descriptors."
msgstr ""
"Für Anwendungen, die das Terminal verwenden, wird daher empfohlen, " "nebenläufige oder wiedereintrittsfähige Interaktionen damit zu vermeiden, " "indem keine Signal-Handhaber verwandt oder Signale, die es verwenden könnte, "
"blockiert werden und eine Sperre gehalten wird, während diese Funktionen " "aufgerufen und mit dem Terminal interagiert wird. Diese Sperre sollte auch " "zum gegenseitigen Ausschluss von mit I<race:tcattr(dd)> markierten " "Funktionen verwandt werden, wo I<dd> ein Dateideskriptor für das steuernde " "Terminal ist. Das aufrufende Programm kann zur Vereinfachung einen einzelnen " "Mutex oder einen Mutex pro Terminal verwenden, selbst wenn die Referenz von " "verschiedenen Dateideskriptoren kommt."
#. type: SS
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
#, no-wrap
msgid "Other safety remarks"
msgstr "Andere Sicherheitsbemerkungen"
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"Additional keywords may be attached to functions, indicating features that " "do not make a function unsafe to call, but that may need to be taken into " "account in certain classes of programs:"
msgstr ""
"An Funktionen können zusätzliche Schlüsselwörter angehängt werden, die " "Funktionalitäten andeuten, die nicht zum unsicheren Aufruf einer Funktion " "führen, aber die in bestimmten Klassen von Programmen berücksichtigt werden "
"können müssten:"
#. type: TP
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
#, no-wrap
msgid "I<locale>"
msgstr "I<locale>"
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"Functions annotated with I<locale> as an MT-Safety issue read from the " "locale object without any form of synchronization. Functions annotated with " "I<locale> called concurrently with locale changes may behave in ways that do " "not correspond to any of the locales active during their execution, but an " "unpredictable mix thereof."
msgstr ""
"Mit I<locale> als MT-Safety-Problem kommentierte Funktionen lesen von " "lokalen Objekten ohne irgendeine Form der Synchronisierung. Werden mit " "I<locale> kommentierte Funktionen gleichzeitig zu lokalen Änderungen " "aufgerufen, könnte sich deren Verhalten so ändern, dass es nicht den lokalen "
"Werten entspricht, die während ihrer Ausführung aktiv war, sondern einer " "nicht vorhersagbaren Mischung daraus."
#. or AS-Unsafe,
#. Should the locking strategy suggested under @code{const} be used,
#. failure to guard locale uses is not as fatal as data races in
#. general: unguarded uses will @emph{not} follow dangling pointers or
#. access uninitialized, unmapped or recycled memory. Each access will
#. read from a consistent locale object that is or was active at some
#. point during its execution. Without synchronization, however, it
#. cannot even be assumed that, after a change in locale, earlier
#. locales will no longer be used, even after the newly-chosen one is
#. used in the thread. Nevertheless, even though unguarded reads from
#. the locale will not violate type safety, functions that access the
#. locale multiple times may invoke all sorts of undefined behavior
#. because of the unexpected locale changes.
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"We do not mark these functions as MT-Unsafe, however, because functions that " "modify the locale object are marked with I<const:locale> and regarded as " "unsafe. Being unsafe, the latter are not to be called when multiple threads " "are running or asynchronous signals are enabled, and so the locale can be " "considered effectively constant in these contexts, which makes the former " "safe."
msgstr ""
"Diese Funktionen sind allerdings nicht als MT-Unsafe markiert, da " "Funktionen, die lokale Objekte verändern, als I<const:locale> markiert sind " "und als unsicher betrachtet werden. Da sie unsicher sind, werden letztere " "nicht aufgerufen, wenn mehrere Threads laufen oder asynchrone Signale " "aktiviert sind, und daher die lokalen Objekte tatsächlich in diesen " "Kontexten als konstant betrachtet werden können, wodurch erstere sicher sind."
#. type: TP
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
#, no-wrap
msgid "I<env>"
msgstr "I<env>"
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"Functions marked with I<env> as an MT-Safety issue access the environment " "with B<getenv>(3) or similar, without any guards to ensure safety in the " "presence of concurrent modifications."
msgstr ""
"Mit I<env> als MT-Safety-Problem kommentierte Funktionen greifen auf die " "Umgebung mit B<getenv>(3) oder ähnlichem zu, ohne jeglichen Schutz, um " "Sicherheit in der Anwesenheit von nebenläufigen Veränderungen " "sicherzustellen."
#. or AS-Unsafe,
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"We do not mark these functions as MT-Unsafe, however, because functions that " "modify the environment are all marked with I<const:env> and regarded as " "unsafe. Being unsafe, the latter are not to be called when multiple threads " "are running or asynchronous signals are enabled, and so the environment can " "be considered effectively constant in these contexts, which makes the former " "safe."
msgstr ""
"Diese Funktionen sind allerdings nicht als MT-Unsafe markiert, da " "Funktionen, die die Umgebung verändern, alle mit I<const:env> markiert sind " "und als unsicher betrachtet werden. Da sie unsicher sind, werden letztere " "nicht aufgerufen, wenn mehrere Threads laufen oder asynchrone Signale " "aktiviert sind, und daher die Umgebung tatsächlich in diesen Kontexten als " "konstant betrachtet werden können, wodurch erstere sicher sind."
--5McGhmnfeuicFpZh--
-----BEGIN PGP SIGNATURE-----
iQIzBAABCAAdFiEEbZZfteMW0gNUynuwQbqlJmgq5nAFAmXbnXUACgkQQbqlJmgq 5nCC0BAAhHwT3DpqgxKY75b3F2VUa//GJkhpdYsEbRevx6aiaKCpQtLxuAlmkL5Q 4+fsZX6E9lb2VS9ZXDfxL4XVRmN7EBnOPbwrgK/8vWl7PViYLeee+SzIg4mHqxvG Xm8RVXc664kNm08KJ0MX8615xJTtu5tScFtAmGThTNjMEAaaA4PXwipNQ14zHyjw HZH3KJbXidLG+v8g5YJ71fUrBvSHPxILCYN//yBqAMxMl0Ubk92Ru+GiRM0Mxpp0 zX8KNY8oAKrHUc1bPrgUWMWcuHO6TkNvJgUA/ap50LTG3uFGFuc8Cv4sZYcU0rcN sLtr7rzHywHsedf0fH/jBYTCua7Utkn72h04XUexnNJDZ7bzjnjvUswxxxI2b82A bcV0h392wsCKuee/slV088TGJqpHQLxS0/umojhpGOuFHfBdV6bS4ilyAyiHOtdn /qOrCiKPiqvazPf5xRJ2HU4DMagaDA7G6Tra9PqBO3w5vLoLbCLpLpX72PaeUBEb zHfDVAQcAZ1asVswx0Q8QXTx2sJ2FMj/s0wY+pFdKxIDbs/Nv9vvd+3Cwq9GKmto 9hUJspa37JMtspoJ9/9fF57l+PJZL3vGMJtT1k3g9qpor/jNtUr6AhOBwfX+3piT mpPbnwGeRUOsL4jkyAvdbgyyASojAwvQ5UmFBgIqDB2Zg1Pcidw=
=wDY6
-----END PGP SIGNATURE-----
--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)