1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
|
# German translation of manpages
# This file is distributed under the same license as the manpages-l10n package.
# Copyright © of this file:
# Patrick Rother <krd@gulu.net>, 1996.
# Chris Leick <c.leick@vollbio.de>, 2010-2014, 2016.
# Dr. Tobias Quathamer <toddy@debian.org>, 2016.
# Helge Kreutzmann <debian@helgefjell.de>, 2016.
# Mario Blättermann <mario.blaettermann@gmail.com>, 2023.
msgid ""
msgstr ""
"Project-Id-Version: manpages-l10n 4.18.1\n"
"POT-Creation-Date: 2024-03-01 17:07+0100\n"
"PO-Revision-Date: 2023-05-13 11:41+0200\n"
"Last-Translator: Mario Blättermann <mario.blaettermann@gmail.com>\n"
"Language-Team: German <debian-l10n-german@lists.debian.org>\n"
"Language: de\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Lokalize 23.04.0\n"
#. type: TH
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
#, no-wrap
msgid "setjmp"
msgstr "setjmp"
#. type: TH
#: archlinux fedora-40 fedora-rawhide mageia-cauldron
#, no-wrap
msgid "2023-10-31"
msgstr "31. Oktober 2023"
#. type: TH
#: archlinux fedora-40 fedora-rawhide mageia-cauldron
#, no-wrap
msgid "Linux man-pages 6.06"
msgstr "Linux man-pages 6.06"
#. type: SH
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
#, no-wrap
msgid "NAME"
msgstr "BEZEICHNUNG"
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid "setjmp, sigsetjmp, longjmp, siglongjmp - performing a nonlocal goto"
msgstr ""
"setjmp, sigsetjmp, longjmp, siglongjmp - Nichtlokalen Sprungbefehl "
"durchführen"
#. type: SH
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
#, no-wrap
msgid "LIBRARY"
msgstr "BIBLIOTHEK"
#. 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<libc>, I<-lc>)"
msgstr "Standard-C-Bibliothek (I<libc>, 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 "ÜBERSICHT"
#. 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 E<lt>setjmp.hE<gt>>\n"
msgstr "B<#include E<lt>setjmp.hE<gt>>\n"
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
#, no-wrap
msgid ""
"B<int setjmp(jmp_buf >I<env>B<);>\n"
"B<int sigsetjmp(sigjmp_buf >I<env>B<, int >I<savesigs>B<);>\n"
msgstr ""
"B<int setjmp(jmp_buf >I<Umg>B<);>\n"
"B<int sigsetjmp(sigjmp_buf >I<Umg>B<, int >I<speicherSig>B<);>\n"
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
#, no-wrap
msgid ""
"B<[[noreturn]] void longjmp(jmp_buf >I<env>B<, int >I<val>B<);>\n"
"B<[[noreturn]] void siglongjmp(sigjmp_buf >I<env>B<, int >I<val>B<);>\n"
msgstr ""
"B<[[noreturn]] void longjmp(jmp_buf >I<Umg>B<, int >I<Wert>B<);>\n"
"B<[[noreturn]] void siglongjmp(sigjmp_buf >I<Umg>B<, int >I<Wert>B<);>\n"
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"Feature Test Macro Requirements for glibc (see B<feature_test_macros>(7)):"
msgstr ""
"Mit Glibc erforderliche Feature-Test-Makros (siehe "
"B<feature_test_macros>(7)):"
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid "B<setjmp>(): see NOTES."
msgstr "B<setjmp>(): siehe ANMERKUNGEN."
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid "B<sigsetjmp>():"
msgstr "B<sigsetjmp>():"
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
#, no-wrap
msgid " _POSIX_C_SOURCE\n"
msgstr " _POSIX_C_SOURCE\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 "BESCHREIBUNG"
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"The functions described on this page are used for performing \"nonlocal "
"gotos\": transferring execution from one function to a predetermined "
"location in another function. The B<setjmp>() function dynamically "
"establishes the target to which control will later be transferred, and "
"B<longjmp>() performs the transfer of execution."
msgstr ""
"Die auf dieser Seite beschriebenen Funktionen werden für »nichtlokale Gotos« "
"verwandt: Übergabe der Ausführung von einer Funktion zu einer vorbestimmten "
"Stelle in einer anderen Funktion. Die Funktion B<setjmp>() etabliert "
"dynamisch das Ziel, zu dem die Steuerung später übergeben wird und "
"B<longjmp>() führt den Ausführungstransfer aus."
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"The B<setjmp>() function saves various information about the calling "
"environment (typically, the stack pointer, the instruction pointer, possibly "
"the values of other registers and the signal mask) in the buffer I<env> for "
"later use by B<longjmp>(). In this case, B<setjmp>() returns 0."
msgstr ""
"Die Funktion B<setjmp>() speichert verschiedene Informationen über die "
"aufrufende Umgebung (typischerweise den Stack-Zeiger, den Anweisungszeiger, "
"möglicherweise die Werte von anderen Registern und die Signalmaske) im "
"Puffer I<Umg> für die spätere Verwendung durch B<longjmp>(). In diesem Fall "
"liefert B<setjmp>() 0 zurück."
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"The B<longjmp>() function uses the information saved in I<env> to transfer "
"control back to the point where B<setjmp>() was called and to restore "
"(\"rewind\") the stack to its state at the time of the B<setjmp>() call. "
"In addition, and depending on the implementation (see NOTES), the values of "
"some other registers and the process signal mask may be restored to their "
"state at the time of the B<setjmp>() call."
msgstr ""
"Die Funktion B<longjmp>() verwendet die in I<Umg> gespeicherten "
"Informationen, um die Steuerung zu dem Punkt zurückzuübergeben, an dem "
"B<setjmp>() aufgerufen worden war und den Stack auf seinem Zustand zum "
"Zeitpunkt des Aufrufs von B<setjmp>() wiederherzustellen (»zurückzuspulen«). "
"Zusätzlich und abhängig von der Implementierung (siehe ANMERKUNGEN) können "
"die Werte einiger anderer Register und der Prozesssignalmaske auf den Wert "
"zum Zeitpunkt des Aufrufs von B<setjmp>() wiederhergestellt werden."
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"Following a successful B<longjmp>(), execution continues as if B<setjmp>() "
"had returned for a second time. This \"fake\" return can be distinguished "
"from a true B<setjmp>() call because the \"fake\" return returns the value "
"provided in I<val>. If the programmer mistakenly passes the value 0 in "
"I<val>, the \"fake\" return will instead return 1."
msgstr ""
"Nach einem erfolgreichen B<longjmp>() fährt die Ausführung so fort, als ob "
"B<setjmp>() ein zweites Mal zurückgekehrt wäre. Diese »Schummel«-Rückkehr "
"kann von einem echten Aufruf von B<setjmp>() unterschieden werden, da die "
"»Schummel«-Rückkehr den in I<Wert> bereitgestellten Wert zurückliefert. "
"Falls der Programmierer fehlerhafterweise den Wert 0 in I<Wert> weitergibt, "
"wird die »Schummel«-Rückkehr stattdessen 1 zurückliefern."
#. type: SS
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
#, no-wrap
msgid "sigsetjmp() and siglongjmp()"
msgstr "sigsetjmp() und siglongjmp()"
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"B<sigsetjmp>() and B<siglongjmp>() also perform nonlocal gotos, but "
"provide predictable handling of the process signal mask."
msgstr ""
"B<sigsetjmp>() und B<siglongjmp>() führen auch nichtlokale Gotos durch, "
"stellen aber eine vorhersehbare Behandlung der Prozesssignalmaske bereit."
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"If, and only if, the I<savesigs> argument provided to B<sigsetjmp>() is "
"nonzero, the process's current signal mask is saved in I<env> and will be "
"restored if a B<siglongjmp>() is later performed with this I<env>."
msgstr ""
"Nur wenn das an B<sigsetjmp>() übergebene Argument I<speicherSig> nicht Null "
"ist, wird die aktuelle Signalmaske des Prozesses in I<Umg> gespeichert und "
"wiederhergestellt, wenn später mit diesem I<Umg> ein B<siglongjmp> "
"durchgeführt wird."
#. 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 "RÜCKGABEWERT"
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"B<setjmp>() and B<sigsetjmp>() return 0 when called directly; on the "
"\"fake\" return that occurs after B<longjmp>() or B<siglongjmp>(), the "
"nonzero value specified in I<val> is returned."
msgstr ""
"B<setjmp>() und B<sigsetjmp>() geben 0 zurück, wenn sie direkt aufgerufen "
"wurden; bei dem »nachgeahmten« Zurückkehren, das nach B<longjmp>() und "
"B<siglongjmp>() auftritt, wird der in I<Wert> angegebene Nichtnull-Wert "
"zurückgegeben."
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid "The B<longjmp>() or B<siglongjmp>() functions do not return."
msgstr "Die Funktionen B<longjmp>() oder B<siglongjmp>() kehren nicht zurück."
#. type: SH
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
#, no-wrap
msgid "ATTRIBUTES"
msgstr "ATTRIBUTE"
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"For an explanation of the terms used in this section, see B<attributes>(7)."
msgstr ""
"Siehe B<attributes>(7) für eine Erläuterung der in diesem Abschnitt "
"verwandten Ausdrücke."
#. type: tbl table
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
#, no-wrap
msgid "Interface"
msgstr "Schnittstelle"
#. type: tbl table
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
#, no-wrap
msgid "Attribute"
msgstr "Attribut"
#. type: tbl table
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
#, no-wrap
msgid "Value"
msgstr "Wert"
#. type: tbl table
#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
#: opensuse-tumbleweed
#, no-wrap
msgid ".na\n"
msgstr ".na\n"
#. type: tbl table
#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
#: opensuse-tumbleweed
#, no-wrap
msgid ".nh\n"
msgstr ".nh\n"
#. type: tbl table
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
#, no-wrap
msgid ""
"B<setjmp>(),\n"
"B<sigsetjmp>()"
msgstr ""
"B<setjmp>(),\n"
"B<sigsetjmp>()"
#. type: tbl table
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
#, no-wrap
msgid "Thread safety"
msgstr "Multithread-Fähigkeit"
#. type: tbl table
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
#, no-wrap
msgid "MT-Safe"
msgstr "MT-Sicher"
#. type: tbl table
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
#, no-wrap
msgid ""
"B<longjmp>(),\n"
"B<siglongjmp>()"
msgstr ""
"B<longjmp>(),\n"
"B<siglongjmp>()"
#. type: SH
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
#, no-wrap
msgid "STANDARDS"
msgstr "STANDARDS"
#. type: TP
#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
#: opensuse-leap-15-6 opensuse-tumbleweed
#, no-wrap
msgid "B<setjmp>()"
msgstr "B<setjmp>()"
#. type: TQ
#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
#: opensuse-leap-15-6 opensuse-tumbleweed
#, no-wrap
msgid "B<longjmp>()"
msgstr "B<longjmp>()"
#. type: Plain text
#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
#: opensuse-leap-15-6 opensuse-tumbleweed
msgid "C11, POSIX.1-2008."
msgstr "C11, POSIX.1-2008."
#. type: TP
#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
#: opensuse-leap-15-6 opensuse-tumbleweed
#, no-wrap
msgid "B<sigsetjmp>()"
msgstr "B<sigsetjmp>()"
#. type: TQ
#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
#: opensuse-leap-15-6 opensuse-tumbleweed
#, no-wrap
msgid "B<siglongjmp>()"
msgstr "B<siglongjmp>()"
#. 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 "GESCHICHTE"
#. type: Plain text
#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
#: opensuse-leap-15-6 opensuse-tumbleweed
msgid "POSIX.1-2001, C89."
msgstr "POSIX.1-2001, C89."
#. type: Plain text
#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
#: opensuse-leap-15-6 opensuse-tumbleweed
msgid "POSIX.1-2001."
msgstr "POSIX.1-2001."
#. so that _FAVOR_BSD is triggered
#. .BR _XOPEN_SOURCE_EXTENDED ,
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"POSIX does not specify whether B<setjmp>() will save the signal mask (to be "
"later restored during B<longjmp>()). In System V it will not. In 4.3BSD it "
"will, and there is a function B<_setjmp>() that will not. The behavior "
"under Linux depends on the glibc version and the setting of feature test "
"macros. Before glibc 2.19, B<setjmp>() follows the System V behavior by "
"default, but the BSD behavior is provided if the B<_BSD_SOURCE> feature test "
"macro is explicitly defined and none of B<_POSIX_SOURCE>, "
"B<_POSIX_C_SOURCE>, B<_XOPEN_SOURCE>, B<_GNU_SOURCE>, or B<_SVID_SOURCE> is "
"defined. Since glibc 2.19, I<E<lt>setjmp.hE<gt>> exposes only the System V "
"version of B<setjmp>(). Programs that need the BSD semantics should replace "
"calls to B<setjmp>() with calls to B<sigsetjmp>() with a nonzero "
"I<savesigs> argument."
msgstr ""
"POSIX spezifiziert nicht, ob B<setjmp>() die Signalmaske sichern wird (um "
"sie später während B<longjmp>() wieder herzustellen). In System-V wird es "
"dies nicht tun. In 4.3BSD wird es dies tun und dort gibt es eine Funktion "
"B<_setjmp>(), die es nicht tut. Das Verhalten unter Linux hängt von der "
"Glibc-Version und den Einstellungen der Feature-Test-Makros ab. Vor Glibc "
"2.19 folgte B<setjmp>() standardmäßig dem Verhalten von System V, aber das "
"BSD-Verhalten wird bereitgestellt, wenn das B<_BSD_SOURCE>-Feature-Test-"
"Macro explizit definiert ist und weder B<_POSIX_SOURCE>, B<_POSIX_C_SOURCE>, "
"B<_XOPEN_SOURCE>, B<_GNU_SOURCE> noch B<_SVID_SOURCE> definiert ist. Seit "
"Glibc 2.19 stellt I<E<lt>setjmp.hE<gt>> nur die System-V-Version von "
"B<setjmp>() bereit. Programme, die die BSD-Semantik benötigen, sollten "
"Aufrufe von B<setjmp>() durch Aufrufe von B<sigsetjmp>(), bei denen das "
"Argument I<speicherSig> ungleich numerisch Null ist, ersetzen."
#. type: SH
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
#, no-wrap
msgid "NOTES"
msgstr "ANMERKUNGEN"
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"B<setjmp>() and B<longjmp>() can be useful for dealing with errors inside "
"deeply nested function calls or to allow a signal handler to pass control to "
"a specific point in the program, rather than returning to the point where "
"the handler interrupted the main program. In the latter case, if you want "
"to portably save and restore signal masks, use B<sigsetjmp>() and "
"B<siglongjmp>(). See also the discussion of program readability below."
msgstr ""
"B<setjmp>() und B<longjmp>() können zum Umgang mit Fehlern innerhalb "
"tiefverschachtelter Funktionsaufrufe nützlich sein oder um einem Signal-"
"Handler zu ermöglichen, die Steuerung an einen bestimmten Punkt in dem "
"Programm zu übergeben, statt zu dem Punkt zurückzukehren, in dem der Handler "
"das Hauptprogramm unterbrochen hat. In letzterem Falle verwenden Sie "
"B<sigsetjmp>() und B<siglongjmp>(), falls Sie die Signalmaske portabel "
"speichern und wiederherstellen möchten. Lesen Sie auch die Diskussion zur "
"Programmlesbarkeit weiter unten."
#. type: SH
#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
#: opensuse-leap-15-6 opensuse-tumbleweed
#, no-wrap
msgid "CAVEATS"
msgstr "WARNUNGEN"
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"The compiler may optimize variables into registers, and B<longjmp>() may "
"restore the values of other registers in addition to the stack pointer and "
"program counter. Consequently, the values of automatic variables are "
"unspecified after a call to B<longjmp>() if they meet all the following "
"criteria:"
msgstr ""
"Der Compiler kann Variablen in Register optimieren und B<longjmp>() kann die "
"Werte anderer Register zusätzlich zum Stack- und Programmzeiger "
"wiederherstellen. Daher ist der Wert von automatischen Variablen nach einem "
"Aufruf von B<longjmp>() undefiniert, falls alle folgenden Kriterien "
"zutreffen:"
#. 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 ""
"they are local to the function that made the corresponding B<setjmp>() call;"
msgstr ""
"sie sind für die Funktion, die den entsprechenden Aufruf B<setjmp>() "
"durchführte, lokal,"
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"their values are changed between the calls to B<setjmp>() and B<longjmp>(); "
"and"
msgstr ""
"ihre Werte sind zwischen Aufrufen von B<setjmp>() und B<longjmp>() geändert, "
"und"
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid "they are not declared as I<volatile>."
msgstr "sie sind nicht als I<volatile> deklariert."
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid "Analogous remarks apply for B<siglongjmp>()."
msgstr "Entsprechende Anmerkungen gelten für B<siglongjmp>()."
#. type: SS
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
#, no-wrap
msgid "Nonlocal gotos and program readability"
msgstr "Nicht lokale GOTOs und Programmlesbarkeit"
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"While it can be abused, the traditional C \"goto\" statement at least has "
"the benefit that lexical cues (the goto statement and the target label) "
"allow the programmer to easily perceive the flow of control. Nonlocal gotos "
"provide no such cues: multiple B<setjmp>() calls might employ the same "
"I<jmp_buf> variable so that the content of the variable may change over the "
"lifetime of the application. Consequently, the programmer may be forced to "
"perform detailed reading of the code to determine the dynamic target of a "
"particular B<longjmp>() call. (To make the programmer's life easier, each "
"B<setjmp>() call should employ a unique I<jmp_buf> variable.)"
msgstr ""
"Auch wenn er missbraucht werden kann, hat der traditionelle »goto«-Ausdruck "
"von C zumindest den Vorteil, dass lexikalische Hinweise (der Goto-Ausdruck "
"und die Zielmarkierung) dem Programmierer erlauben, leicht den Ablauf zu "
"verstehen. Nichtlokale Gotos stellen keine solchen Hinweise bereit: Mehrere "
"Aufrufe von B<setjmp>() können die gleiche Variable I<jmp_buf> einsetzen, so "
"dass der Inhalt der Variablen sich über die Lebensdauer des Programmes "
"verändern kann. Konsequenterweise kann der Programmierer dazu gezwungen "
"sein, den Code detailliert zu lesen, um das dynamische Ziel eines bestimmten "
"Aufrufs von B<longjmp>() zu ermitteln. (Um das Leben der Programmierer zu "
"erleichtern, sollte jeder Aufruf von B<setjmp>() eine eineindeutige Variable "
"I<jmp_buf> einsetzen.)"
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"Adding further difficulty, the B<setjmp>() and B<longjmp>() calls may not "
"even be in the same source code module."
msgstr ""
"Weitere Schwierigkeiten kommen hinzu, da die Aufrufe von B<setjmp>() und "
"B<longjmp>() nicht zwingend im gleichen Quellcodemodul sein müssen."
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"In summary, nonlocal gotos can make programs harder to understand and "
"maintain, and an alternative should be used if possible."
msgstr ""
"Zusammenfassend erschweren nicht lokale GOTOs das Verständnis und die "
"Verwaltung von Programmen. Falls möglich, sollte eine Alternative benutzt "
"werden."
#. type: SS
#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
#: opensuse-leap-15-6 opensuse-tumbleweed
#, no-wrap
msgid "Undefined Behavior"
msgstr "Undefiniertes Verhalten"
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"If the function which called B<setjmp>() returns before B<longjmp>() is "
"called, the behavior is undefined. Some kind of subtle or unsubtle chaos is "
"sure to result."
msgstr ""
"Falls die Funktion, die B<setjmp>() aufruft, zurückkehrt, bevor B<longjmp>() "
"aufgerufen wird, ist das Verhalten undefiniert. Irgendwelches subtiles oder "
"nicht so subtiles Chaos entsteht bestimmt dadurch."
#
#
#. The following statement appeared in versions up to POSIX.1-2008 TC1,
#. but is set to be removed in POSIX.1-2008 TC2:
#. According to POSIX.1, if a
#. .BR longjmp ()
#. call is performed from a nested signal handler
#. (i.e., from a handler that was invoked in response to a signal that was
#. generated while another signal was already in the process of being
#. handled), the behavior is undefined.
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"If, in a multithreaded program, a B<longjmp>() call employs an I<env> "
"buffer that was initialized by a call to B<setjmp>() in a different thread, "
"the behavior is undefined."
msgstr ""
"Falls ein B<longjmp>()-Aufruf in einem Programm mit mehreren Threads einen "
"I<Umg>-Puffer einsetzt, der durch einen Aufruf von B<setjmp>() in einem "
"anderen Thread initialisiert wurde, ist sein Verhalten nicht definiert."
#. http://austingroupbugs.net/view.php?id=516#c1195
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"POSIX.1-2008 Technical Corrigendum 2 adds B<longjmp>() and B<siglongjmp>() "
"to the list of async-signal-safe functions. However, the standard "
"recommends avoiding the use of these functions from signal handlers and goes "
"on to point out that if these functions are called from a signal handler "
"that interrupted a call to a non-async-signal-safe function (or some "
"equivalent, such as the steps equivalent to B<exit>(3) that occur upon a "
"return from the initial call to I<main>()), the behavior is undefined if the "
"program subsequently makes a call to a non-async-signal-safe function. The "
"only way of avoiding undefined behavior is to ensure one of the following:"
msgstr ""
"POSIX.1-2008 Technische Berichtigung 2 fügt B<longjmp>() und B<siglongjmp>() "
"zur Liste der asynchronsignalsicheren Funktionen hinzu. Der Standard "
"empfiehlt jedoch den Gebrauch dieser Funktionen aus Signal-Handlern zu "
"vermeiden. Sie fährt damit fort, zu betonen, dass, falls diese Funktionen "
"von einem Signal-Handler aufgerufen werden, der einen Aufruf einer nicht "
"asynchronsignalsicheren Funktion unterbrochen hatte (oder etwas "
"gleichbedeutendem, wie den Schritten, die B<exit>(3) entsprechen, die über "
"eine Rückkehr vom initialen Aufruf zu I<main>() auftreten), das Verhalten "
"nicht definiert ist, falls das Programm nachfolgend einen Aufruf einer nicht "
"asynchronsignalsicheren Funktion durchführt. Der einzige Weg, nicht "
"definiertes Verhalten zu vermeiden, ist, eines des Nachfolgenden "
"sicherzustellen:"
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"After long jumping from the signal handler, the program does not call any "
"non-async-signal-safe functions and does not return from the initial call to "
"I<main>()."
msgstr ""
"Nach langen Sprüngen vom Signal-Handler ruft das Programm keine "
"asynchronsignalsicheren Funktionen auf und kehrt nicht vom initialen Aufruf "
"von I<main>() zurück."
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"Any signal whose handler performs a long jump must be blocked during "
"I<every> call to a non-async-signal-safe function and no non-async-signal-"
"safe functions are called after returning from the initial call to I<main>()."
msgstr ""
"Jedes Signal, dessen Handler einen langen Sprung durchführt, muss während "
"I<jedes> Aufrufs einer nicht asynchronsignalsicheren Funktion blockiert "
"werden und keine nicht asynchronsignalsicheren Funktionen werden nach der "
"Rückkehr vom initialen Aufruf von I<main>() aufgerufen."
#. 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 "SIEHE AUCH"
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid "B<signal>(7), B<signal-safety>(7)"
msgstr "B<signal>(7), B<signal-safety>(7)"
#. type: TH
#: debian-bookworm
#, no-wrap
msgid "2023-02-05"
msgstr "5. Februar 2023"
#. type: TH
#: debian-bookworm
#, no-wrap
msgid "Linux man-pages 6.03"
msgstr "Linux man-pages 6.03"
#. type: Plain text
#: debian-bookworm
msgid "B<setjmp>(), B<longjmp>(): POSIX.1-2001, POSIX.1-2008, C99."
msgstr "B<setjmp>(), B<longjmp>(): POSIX.1-2001, POSIX.1-2008, C99."
#. type: Plain text
#: debian-bookworm
msgid "B<sigsetjmp>(), B<siglongjmp>(): POSIX.1-2001, POSIX.1-2008."
msgstr "B<sigsetjmp>(), B<siglongjmp>(): POSIX.1-2001, POSIX.1-2008."
#. type: SS
#: debian-bookworm
#, no-wrap
msgid "Caveats"
msgstr "Warnungen"
#. type: TH
#: debian-unstable opensuse-tumbleweed
#, no-wrap
msgid "2023-07-20"
msgstr "20. Juli 2023"
#. type: TH
#: debian-unstable opensuse-tumbleweed
#, no-wrap
msgid "Linux man-pages 6.05.01"
msgstr "Linux man-pages 6.05.01"
#. type: TH
#: opensuse-leap-15-6
#, no-wrap
msgid "2023-03-30"
msgstr "30. März 2023"
#. type: TH
#: opensuse-leap-15-6
#, no-wrap
msgid "Linux man-pages 6.04"
msgstr "Linux-Handbuchseiten 6.04"
|