aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--doc/gawk.info426
-rw-r--r--doc/gawk.texi6
-rw-r--r--doc/gawktexi.in6
3 files changed, 227 insertions, 211 deletions
diff --git a/doc/gawk.info b/doc/gawk.info
index c3cb0896..c773fb9e 100644
--- a/doc/gawk.info
+++ b/doc/gawk.info
@@ -19673,6 +19673,10 @@ case 'gawk' waits for the child process to exit, which may cause your
program to hang. (Thus, this particular feature is of much less use in
practice than being able to close the '"to"' end.)
+ CAUTION: It is a fatal error to write to the '"to"' end of a
+ two-way pipe which has been closed. It is also a fatal error to
+ read from the '"from"' end of a two-way pipe that has been closed.
+
You may also use pseudo-ttys (ptys) for two-way communication instead
of pipes, if your system supports them. This is done on a per-command
basis, by setting a special element in the 'PROCINFO' array (*note
@@ -33175,7 +33179,7 @@ Index
* gawk, predefined variables and: Built-in Variables. (line 14)
* gawk, PROCINFO array in: Auto-set. (line 129)
* gawk, PROCINFO array in <1>: Time Functions. (line 47)
-* gawk, PROCINFO array in <2>: Two-way I/O. (line 104)
+* gawk, PROCINFO array in <2>: Two-way I/O. (line 108)
* gawk, regexp constants and: Using Constant Regexps.
(line 28)
* gawk, regular expressions, case sensitivity: Case-sensitivity.
@@ -33949,7 +33953,7 @@ Index
* PROCINFO array: Auto-set. (line 129)
* PROCINFO array <1>: Time Functions. (line 47)
* PROCINFO array <2>: Passwd Functions. (line 6)
-* PROCINFO array, and communications via ptys: Two-way I/O. (line 104)
+* PROCINFO array, and communications via ptys: Two-way I/O. (line 108)
* PROCINFO array, and group membership: Group Functions. (line 6)
* PROCINFO array, and user and group ID numbers: Id Program. (line 15)
* PROCINFO array, testing the field splitting: Passwd Functions.
@@ -35014,214 +35018,214 @@ Ref: Controlling Array Traversal-Footnote-1790219
Node: Array Sorting Functions790337
Ref: Array Sorting Functions-Footnote-1795428
Node: Two-way I/O795624
-Ref: Two-way I/O-Footnote-1801709
-Ref: Two-way I/O-Footnote-2801896
-Node: TCP/IP Networking801978
-Node: Profiling805096
-Node: Advanced Features Summary812635
-Node: Internationalization814571
-Node: I18N and L10N816051
-Node: Explaining gettext816738
-Ref: Explaining gettext-Footnote-1821761
-Ref: Explaining gettext-Footnote-2821946
-Node: Programmer i18n822111
-Ref: Programmer i18n-Footnote-1826966
-Node: Translator i18n827015
-Node: String Extraction827809
-Ref: String Extraction-Footnote-1828941
-Node: Printf Ordering829027
-Ref: Printf Ordering-Footnote-1831813
-Node: I18N Portability831877
-Ref: I18N Portability-Footnote-1834333
-Node: I18N Example834396
-Ref: I18N Example-Footnote-1837202
-Node: Gawk I18N837275
-Node: I18N Summary837920
-Node: Debugger839261
-Node: Debugging840283
-Node: Debugging Concepts840724
-Node: Debugging Terms842533
-Node: Awk Debugging845108
-Node: Sample Debugging Session846014
-Node: Debugger Invocation846548
-Node: Finding The Bug847934
-Node: List of Debugger Commands854412
-Node: Breakpoint Control855745
-Node: Debugger Execution Control859439
-Node: Viewing And Changing Data862801
-Node: Execution Stack866175
-Node: Debugger Info867812
-Node: Miscellaneous Debugger Commands871883
-Node: Readline Support876971
-Node: Limitations877867
-Node: Debugging Summary879976
-Node: Arbitrary Precision Arithmetic881149
-Node: Computer Arithmetic882565
-Ref: table-numeric-ranges886156
-Ref: Computer Arithmetic-Footnote-1886878
-Node: Math Definitions886935
-Ref: table-ieee-formats890249
-Ref: Math Definitions-Footnote-1890852
-Node: MPFR features890957
-Node: FP Math Caution892674
-Ref: FP Math Caution-Footnote-1893746
-Node: Inexactness of computations894115
-Node: Inexact representation895075
-Node: Comparing FP Values896435
-Node: Errors accumulate897517
-Node: Getting Accuracy898950
-Node: Try To Round901660
-Node: Setting precision902559
-Ref: table-predefined-precision-strings903256
-Node: Setting the rounding mode905086
-Ref: table-gawk-rounding-modes905460
-Ref: Setting the rounding mode-Footnote-1908868
-Node: Arbitrary Precision Integers909047
-Ref: Arbitrary Precision Integers-Footnote-1912031
-Node: POSIX Floating Point Problems912180
-Ref: POSIX Floating Point Problems-Footnote-1916062
-Node: Floating point summary916100
-Node: Dynamic Extensions918290
-Node: Extension Intro919843
-Node: Plugin License921109
-Node: Extension Mechanism Outline921906
-Ref: figure-load-extension922345
-Ref: figure-register-new-function923910
-Ref: figure-call-new-function925002
-Node: Extension API Description927064
-Node: Extension API Functions Introduction928512
-Node: General Data Types933324
-Ref: General Data Types-Footnote-1939279
-Node: Memory Allocation Functions939578
-Ref: Memory Allocation Functions-Footnote-1942423
-Node: Constructor Functions942522
-Node: Registration Functions944267
-Node: Extension Functions944952
-Node: Exit Callback Functions947251
-Node: Extension Version String948501
-Node: Input Parsers949164
-Node: Output Wrappers959049
-Node: Two-way processors963561
-Node: Printing Messages965825
-Ref: Printing Messages-Footnote-1966899
-Node: Updating ERRNO967052
-Node: Requesting Values967791
-Ref: table-value-types-returned968528
-Node: Accessing Parameters969411
-Node: Symbol Table Access970646
-Node: Symbol table by name971158
-Node: Symbol table by cookie973179
-Ref: Symbol table by cookie-Footnote-1977328
-Node: Cached values977392
-Ref: Cached values-Footnote-1980893
-Node: Array Manipulation980984
-Ref: Array Manipulation-Footnote-1982083
-Node: Array Data Types982120
-Ref: Array Data Types-Footnote-1984778
-Node: Array Functions984870
-Node: Flattening Arrays988728
-Node: Creating Arrays995636
-Node: Extension API Variables1000407
-Node: Extension Versioning1001043
-Node: Extension API Informational Variables1002934
-Node: Extension API Boilerplate1003998
-Node: Finding Extensions1007812
-Node: Extension Example1008371
-Node: Internal File Description1009169
-Node: Internal File Ops1013249
-Ref: Internal File Ops-Footnote-11025011
-Node: Using Internal File Ops1025151
-Ref: Using Internal File Ops-Footnote-11027534
-Node: Extension Samples1027808
-Node: Extension Sample File Functions1029337
-Node: Extension Sample Fnmatch1036986
-Node: Extension Sample Fork1038473
-Node: Extension Sample Inplace1039691
-Node: Extension Sample Ord1042901
-Node: Extension Sample Readdir1043737
-Ref: table-readdir-file-types1044626
-Node: Extension Sample Revout1045431
-Node: Extension Sample Rev2way1046020
-Node: Extension Sample Read write array1046760
-Node: Extension Sample Readfile1048702
-Node: Extension Sample Time1049797
-Node: Extension Sample API Tests1051145
-Node: gawkextlib1051637
-Node: Extension summary1054061
-Node: Extension Exercises1057753
-Node: Language History1059250
-Node: V7/SVR3.11060906
-Node: SVR41063058
-Node: POSIX1064492
-Node: BTL1065871
-Node: POSIX/GNU1066600
-Node: Feature History1072121
-Node: Common Extensions1085450
-Node: Ranges and Locales1086733
-Ref: Ranges and Locales-Footnote-11091349
-Ref: Ranges and Locales-Footnote-21091376
-Ref: Ranges and Locales-Footnote-31091611
-Node: Contributors1091832
-Node: History summary1097401
-Node: Installation1098781
-Node: Gawk Distribution1099725
-Node: Getting1100209
-Node: Extracting1101170
-Node: Distribution contents1102808
-Node: Unix Installation1108559
-Node: Quick Installation1109175
-Node: Additional Configuration Options1111602
-Node: Configuration Philosophy1113406
-Node: Non-Unix Installation1115775
-Node: PC Installation1116233
-Node: PC Binary Installation1117553
-Node: PC Compiling1119405
-Ref: PC Compiling-Footnote-11122429
-Node: PC Testing1122538
-Node: PC Using1123718
-Node: Cygwin1127832
-Node: MSYS1128602
-Node: VMS Installation1129103
-Node: VMS Compilation1129894
-Ref: VMS Compilation-Footnote-11131123
-Node: VMS Dynamic Extensions1131181
-Node: VMS Installation Details1132866
-Node: VMS Running1135119
-Node: VMS GNV1139398
-Node: VMS Old Gawk1140133
-Node: Bugs1140604
-Node: Other Versions1144801
-Node: Installation summary1151385
-Node: Notes1152443
-Node: Compatibility Mode1153308
-Node: Additions1154090
-Node: Accessing The Source1155015
-Node: Adding Code1156450
-Node: New Ports1162669
-Node: Derived Files1167157
-Ref: Derived Files-Footnote-11172642
-Ref: Derived Files-Footnote-21172677
-Ref: Derived Files-Footnote-31173275
-Node: Future Extensions1173389
-Node: Implementation Limitations1174047
-Node: Extension Design1175230
-Node: Old Extension Problems1176384
-Ref: Old Extension Problems-Footnote-11177902
-Node: Extension New Mechanism Goals1177959
-Ref: Extension New Mechanism Goals-Footnote-11181323
-Node: Extension Other Design Decisions1181512
-Node: Extension Future Growth1183625
-Node: Old Extension Mechanism1184461
-Node: Notes summary1186224
-Node: Basic Concepts1187406
-Node: Basic High Level1188087
-Ref: figure-general-flow1188369
-Ref: figure-process-flow1189054
-Ref: Basic High Level-Footnote-11192355
-Node: Basic Data Typing1192540
-Node: Glossary1195868
-Node: Copying1227814
-Node: GNU Free Documentation License1265353
-Node: Index1290471
+Ref: Two-way I/O-Footnote-1801918
+Ref: Two-way I/O-Footnote-2802105
+Node: TCP/IP Networking802187
+Node: Profiling805305
+Node: Advanced Features Summary812844
+Node: Internationalization814780
+Node: I18N and L10N816260
+Node: Explaining gettext816947
+Ref: Explaining gettext-Footnote-1821970
+Ref: Explaining gettext-Footnote-2822155
+Node: Programmer i18n822320
+Ref: Programmer i18n-Footnote-1827175
+Node: Translator i18n827224
+Node: String Extraction828018
+Ref: String Extraction-Footnote-1829150
+Node: Printf Ordering829236
+Ref: Printf Ordering-Footnote-1832022
+Node: I18N Portability832086
+Ref: I18N Portability-Footnote-1834542
+Node: I18N Example834605
+Ref: I18N Example-Footnote-1837411
+Node: Gawk I18N837484
+Node: I18N Summary838129
+Node: Debugger839470
+Node: Debugging840492
+Node: Debugging Concepts840933
+Node: Debugging Terms842742
+Node: Awk Debugging845317
+Node: Sample Debugging Session846223
+Node: Debugger Invocation846757
+Node: Finding The Bug848143
+Node: List of Debugger Commands854621
+Node: Breakpoint Control855954
+Node: Debugger Execution Control859648
+Node: Viewing And Changing Data863010
+Node: Execution Stack866384
+Node: Debugger Info868021
+Node: Miscellaneous Debugger Commands872092
+Node: Readline Support877180
+Node: Limitations878076
+Node: Debugging Summary880185
+Node: Arbitrary Precision Arithmetic881358
+Node: Computer Arithmetic882774
+Ref: table-numeric-ranges886365
+Ref: Computer Arithmetic-Footnote-1887087
+Node: Math Definitions887144
+Ref: table-ieee-formats890458
+Ref: Math Definitions-Footnote-1891061
+Node: MPFR features891166
+Node: FP Math Caution892883
+Ref: FP Math Caution-Footnote-1893955
+Node: Inexactness of computations894324
+Node: Inexact representation895284
+Node: Comparing FP Values896644
+Node: Errors accumulate897726
+Node: Getting Accuracy899159
+Node: Try To Round901869
+Node: Setting precision902768
+Ref: table-predefined-precision-strings903465
+Node: Setting the rounding mode905295
+Ref: table-gawk-rounding-modes905669
+Ref: Setting the rounding mode-Footnote-1909077
+Node: Arbitrary Precision Integers909256
+Ref: Arbitrary Precision Integers-Footnote-1912240
+Node: POSIX Floating Point Problems912389
+Ref: POSIX Floating Point Problems-Footnote-1916271
+Node: Floating point summary916309
+Node: Dynamic Extensions918499
+Node: Extension Intro920052
+Node: Plugin License921318
+Node: Extension Mechanism Outline922115
+Ref: figure-load-extension922554
+Ref: figure-register-new-function924119
+Ref: figure-call-new-function925211
+Node: Extension API Description927273
+Node: Extension API Functions Introduction928721
+Node: General Data Types933533
+Ref: General Data Types-Footnote-1939488
+Node: Memory Allocation Functions939787
+Ref: Memory Allocation Functions-Footnote-1942632
+Node: Constructor Functions942731
+Node: Registration Functions944476
+Node: Extension Functions945161
+Node: Exit Callback Functions947460
+Node: Extension Version String948710
+Node: Input Parsers949373
+Node: Output Wrappers959258
+Node: Two-way processors963770
+Node: Printing Messages966034
+Ref: Printing Messages-Footnote-1967108
+Node: Updating ERRNO967261
+Node: Requesting Values968000
+Ref: table-value-types-returned968737
+Node: Accessing Parameters969620
+Node: Symbol Table Access970855
+Node: Symbol table by name971367
+Node: Symbol table by cookie973388
+Ref: Symbol table by cookie-Footnote-1977537
+Node: Cached values977601
+Ref: Cached values-Footnote-1981102
+Node: Array Manipulation981193
+Ref: Array Manipulation-Footnote-1982292
+Node: Array Data Types982329
+Ref: Array Data Types-Footnote-1984987
+Node: Array Functions985079
+Node: Flattening Arrays988937
+Node: Creating Arrays995845
+Node: Extension API Variables1000616
+Node: Extension Versioning1001252
+Node: Extension API Informational Variables1003143
+Node: Extension API Boilerplate1004207
+Node: Finding Extensions1008021
+Node: Extension Example1008580
+Node: Internal File Description1009378
+Node: Internal File Ops1013458
+Ref: Internal File Ops-Footnote-11025220
+Node: Using Internal File Ops1025360
+Ref: Using Internal File Ops-Footnote-11027743
+Node: Extension Samples1028017
+Node: Extension Sample File Functions1029546
+Node: Extension Sample Fnmatch1037195
+Node: Extension Sample Fork1038682
+Node: Extension Sample Inplace1039900
+Node: Extension Sample Ord1043110
+Node: Extension Sample Readdir1043946
+Ref: table-readdir-file-types1044835
+Node: Extension Sample Revout1045640
+Node: Extension Sample Rev2way1046229
+Node: Extension Sample Read write array1046969
+Node: Extension Sample Readfile1048911
+Node: Extension Sample Time1050006
+Node: Extension Sample API Tests1051354
+Node: gawkextlib1051846
+Node: Extension summary1054270
+Node: Extension Exercises1057962
+Node: Language History1059459
+Node: V7/SVR3.11061115
+Node: SVR41063267
+Node: POSIX1064701
+Node: BTL1066080
+Node: POSIX/GNU1066809
+Node: Feature History1072330
+Node: Common Extensions1085659
+Node: Ranges and Locales1086942
+Ref: Ranges and Locales-Footnote-11091558
+Ref: Ranges and Locales-Footnote-21091585
+Ref: Ranges and Locales-Footnote-31091820
+Node: Contributors1092041
+Node: History summary1097610
+Node: Installation1098990
+Node: Gawk Distribution1099934
+Node: Getting1100418
+Node: Extracting1101379
+Node: Distribution contents1103017
+Node: Unix Installation1108768
+Node: Quick Installation1109384
+Node: Additional Configuration Options1111811
+Node: Configuration Philosophy1113615
+Node: Non-Unix Installation1115984
+Node: PC Installation1116442
+Node: PC Binary Installation1117762
+Node: PC Compiling1119614
+Ref: PC Compiling-Footnote-11122638
+Node: PC Testing1122747
+Node: PC Using1123927
+Node: Cygwin1128041
+Node: MSYS1128811
+Node: VMS Installation1129312
+Node: VMS Compilation1130103
+Ref: VMS Compilation-Footnote-11131332
+Node: VMS Dynamic Extensions1131390
+Node: VMS Installation Details1133075
+Node: VMS Running1135328
+Node: VMS GNV1139607
+Node: VMS Old Gawk1140342
+Node: Bugs1140813
+Node: Other Versions1145010
+Node: Installation summary1151594
+Node: Notes1152652
+Node: Compatibility Mode1153517
+Node: Additions1154299
+Node: Accessing The Source1155224
+Node: Adding Code1156659
+Node: New Ports1162878
+Node: Derived Files1167366
+Ref: Derived Files-Footnote-11172851
+Ref: Derived Files-Footnote-21172886
+Ref: Derived Files-Footnote-31173484
+Node: Future Extensions1173598
+Node: Implementation Limitations1174256
+Node: Extension Design1175439
+Node: Old Extension Problems1176593
+Ref: Old Extension Problems-Footnote-11178111
+Node: Extension New Mechanism Goals1178168
+Ref: Extension New Mechanism Goals-Footnote-11181532
+Node: Extension Other Design Decisions1181721
+Node: Extension Future Growth1183834
+Node: Old Extension Mechanism1184670
+Node: Notes summary1186433
+Node: Basic Concepts1187615
+Node: Basic High Level1188296
+Ref: figure-general-flow1188578
+Ref: figure-process-flow1189263
+Ref: Basic High Level-Footnote-11192564
+Node: Basic Data Typing1192749
+Node: Glossary1196077
+Node: Copying1228023
+Node: GNU Free Documentation License1265562
+Node: Index1290680

End Tag Table
diff --git a/doc/gawk.texi b/doc/gawk.texi
index 4b0ea40c..d1b085f0 100644
--- a/doc/gawk.texi
+++ b/doc/gawk.texi
@@ -27512,6 +27512,12 @@ case @command{gawk} waits for the child process to exit, which may cause
your program to hang. (Thus, this particular feature is of much less
use in practice than being able to close the @code{"to"} end.)
+@quotation CAUTION
+It is a fatal error to write to the @code{"to"} end of a two-way
+pipe which has been closed. It is also a fatal error to read
+from the @code{"from"} end of a two-way pipe that has been closed.
+@end quotation
+
@cindex @command{gawk}, @code{PROCINFO} array in
@cindex @code{PROCINFO} array, and communications via ptys
You may also use pseudo-ttys (ptys) for
diff --git a/doc/gawktexi.in b/doc/gawktexi.in
index 4d2a76f3..e233a383 100644
--- a/doc/gawktexi.in
+++ b/doc/gawktexi.in
@@ -26603,6 +26603,12 @@ case @command{gawk} waits for the child process to exit, which may cause
your program to hang. (Thus, this particular feature is of much less
use in practice than being able to close the @code{"to"} end.)
+@quotation CAUTION
+It is a fatal error to write to the @code{"to"} end of a two-way
+pipe which has been closed. It is also a fatal error to read
+from the @code{"from"} end of a two-way pipe that has been closed.
+@end quotation
+
@cindex @command{gawk}, @code{PROCINFO} array in
@cindex @code{PROCINFO} array, and communications via ptys
You may also use pseudo-ttys (ptys) for