aboutsummaryrefslogtreecommitdiffstats
path: root/doc/gawk.info
diff options
context:
space:
mode:
Diffstat (limited to 'doc/gawk.info')
-rw-r--r--doc/gawk.info443
1 files changed, 230 insertions, 213 deletions
diff --git a/doc/gawk.info b/doc/gawk.info
index 23312f44..0da0b079 100644
--- a/doc/gawk.info
+++ b/doc/gawk.info
@@ -19610,10 +19610,27 @@ Auto-set::), like so:
print ... |& command # start two-way pipe
...
-Using ptys usually avoids the buffer deadlock issues described earlier,
-at some loss in performance. If your system does not have ptys, or if
-all the system's ptys are in use, 'gawk' automatically falls back to
-using regular pipes.
+If your system does not have ptys, or if all the system's ptys are in
+use, 'gawk' automatically falls back to using regular pipes.
+
+ Using ptys usually avoids the buffer deadlock issues described
+earlier, at some loss in performance. This is because the tty driver
+buffers and sends data line-by-line. On systems with the 'stdbuf' (part
+of the GNU Coreutils package
+(http://www.gnu.org/software/coreutils/coreutils.html)), you can use
+that program instead of ptys.
+
+ Note also that ptys are not fully transparent. Certain binary
+control codes, such 'Ctrl-d' for end-of-file, are interpreted by the tty
+driver and not passed through.
+
+ CAUTION: Finally, coprocesses open up the possibility of "deadlock"
+ between 'gawk' and the program running in the coprocess. This can
+ occur if you send "too much" data to the coprocess before reading
+ any back; each process is blocked writing data with noone available
+ to read what they've already written. There is no workaround for
+ deadlock; careful programming and knowledge of the behavior of the
+ coprocess are required.
---------- Footnotes ----------
@@ -34881,214 +34898,214 @@ Ref: Controlling Array Traversal-Footnote-1787656
Node: Array Sorting Functions787774
Ref: Array Sorting Functions-Footnote-1792865
Node: Two-way I/O793061
-Ref: Two-way I/O-Footnote-1798012
-Ref: Two-way I/O-Footnote-2798199
-Node: TCP/IP Networking798281
-Node: Profiling801399
-Node: Advanced Features Summary808938
-Node: Internationalization810874
-Node: I18N and L10N812354
-Node: Explaining gettext813041
-Ref: Explaining gettext-Footnote-1818064
-Ref: Explaining gettext-Footnote-2818249
-Node: Programmer i18n818414
-Ref: Programmer i18n-Footnote-1823270
-Node: Translator i18n823319
-Node: String Extraction824113
-Ref: String Extraction-Footnote-1825246
-Node: Printf Ordering825332
-Ref: Printf Ordering-Footnote-1828118
-Node: I18N Portability828182
-Ref: I18N Portability-Footnote-1830638
-Node: I18N Example830701
-Ref: I18N Example-Footnote-1833507
-Node: Gawk I18N833580
-Node: I18N Summary834225
-Node: Debugger835566
-Node: Debugging836588
-Node: Debugging Concepts837029
-Node: Debugging Terms838838
-Node: Awk Debugging841413
-Node: Sample Debugging Session842319
-Node: Debugger Invocation842853
-Node: Finding The Bug844239
-Node: List of Debugger Commands850717
-Node: Breakpoint Control852050
-Node: Debugger Execution Control855744
-Node: Viewing And Changing Data859106
-Node: Execution Stack862480
-Node: Debugger Info864117
-Node: Miscellaneous Debugger Commands868188
-Node: Readline Support873276
-Node: Limitations874172
-Node: Debugging Summary876281
-Node: Arbitrary Precision Arithmetic877454
-Node: Computer Arithmetic878870
-Ref: table-numeric-ranges882461
-Ref: Computer Arithmetic-Footnote-1883183
-Node: Math Definitions883240
-Ref: table-ieee-formats886554
-Ref: Math Definitions-Footnote-1887157
-Node: MPFR features887262
-Node: FP Math Caution888935
-Ref: FP Math Caution-Footnote-1890007
-Node: Inexactness of computations890376
-Node: Inexact representation891336
-Node: Comparing FP Values892696
-Node: Errors accumulate893778
-Node: Getting Accuracy895211
-Node: Try To Round897921
-Node: Setting precision898820
-Ref: table-predefined-precision-strings899517
-Node: Setting the rounding mode901347
-Ref: table-gawk-rounding-modes901721
-Ref: Setting the rounding mode-Footnote-1905129
-Node: Arbitrary Precision Integers905308
-Ref: Arbitrary Precision Integers-Footnote-1908292
-Node: POSIX Floating Point Problems908441
-Ref: POSIX Floating Point Problems-Footnote-1912323
-Node: Floating point summary912361
-Node: Dynamic Extensions914551
-Node: Extension Intro916104
-Node: Plugin License917370
-Node: Extension Mechanism Outline918167
-Ref: figure-load-extension918606
-Ref: figure-register-new-function920171
-Ref: figure-call-new-function921263
-Node: Extension API Description923326
-Node: Extension API Functions Introduction924774
-Node: General Data Types929586
-Ref: General Data Types-Footnote-1935541
-Node: Memory Allocation Functions935840
-Ref: Memory Allocation Functions-Footnote-1938685
-Node: Constructor Functions938784
-Node: Registration Functions940529
-Node: Extension Functions941214
-Node: Exit Callback Functions943513
-Node: Extension Version String944763
-Node: Input Parsers945426
-Node: Output Wrappers955311
-Node: Two-way processors959823
-Node: Printing Messages962087
-Ref: Printing Messages-Footnote-1963161
-Node: Updating ERRNO963314
-Node: Requesting Values964053
-Ref: table-value-types-returned964790
-Node: Accessing Parameters965673
-Node: Symbol Table Access966909
-Node: Symbol table by name967421
-Node: Symbol table by cookie969442
-Ref: Symbol table by cookie-Footnote-1973591
-Node: Cached values973655
-Ref: Cached values-Footnote-1977156
-Node: Array Manipulation977247
-Ref: Array Manipulation-Footnote-1978346
-Node: Array Data Types978383
-Ref: Array Data Types-Footnote-1981041
-Node: Array Functions981133
-Node: Flattening Arrays984992
-Node: Creating Arrays991900
-Node: Extension API Variables996672
-Node: Extension Versioning997308
-Node: Extension API Informational Variables999199
-Node: Extension API Boilerplate1000263
-Node: Finding Extensions1004077
-Node: Extension Example1004637
-Node: Internal File Description1005435
-Node: Internal File Ops1009515
-Ref: Internal File Ops-Footnote-11021277
-Node: Using Internal File Ops1021417
-Ref: Using Internal File Ops-Footnote-11023800
-Node: Extension Samples1024075
-Node: Extension Sample File Functions1025604
-Node: Extension Sample Fnmatch1033253
-Node: Extension Sample Fork1034740
-Node: Extension Sample Inplace1035958
-Node: Extension Sample Ord1039168
-Node: Extension Sample Readdir1040004
-Ref: table-readdir-file-types1040893
-Node: Extension Sample Revout1041698
-Node: Extension Sample Rev2way1042287
-Node: Extension Sample Read write array1043027
-Node: Extension Sample Readfile1044969
-Node: Extension Sample Time1046064
-Node: Extension Sample API Tests1047412
-Node: gawkextlib1047904
-Node: Extension summary1050328
-Node: Extension Exercises1054020
-Node: Language History1055517
-Node: V7/SVR3.11057173
-Node: SVR41059325
-Node: POSIX1060759
-Node: BTL1062139
-Node: POSIX/GNU1062869
-Node: Feature History1068390
-Node: Common Extensions1081719
-Node: Ranges and Locales1083002
-Ref: Ranges and Locales-Footnote-11087618
-Ref: Ranges and Locales-Footnote-21087645
-Ref: Ranges and Locales-Footnote-31087880
-Node: Contributors1088101
-Node: History summary1093670
-Node: Installation1095050
-Node: Gawk Distribution1095995
-Node: Getting1096479
-Node: Extracting1097440
-Node: Distribution contents1099078
-Node: Unix Installation1104831
-Node: Quick Installation1105447
-Node: Additional Configuration Options1107874
-Node: Configuration Philosophy1109678
-Node: Non-Unix Installation1112048
-Node: PC Installation1112506
-Node: PC Binary Installation1113826
-Node: PC Compiling1115678
-Ref: PC Compiling-Footnote-11118702
-Node: PC Testing1118811
-Node: PC Using1119991
-Node: Cygwin1124105
-Node: MSYS1124875
-Node: VMS Installation1125376
-Node: VMS Compilation1126167
-Ref: VMS Compilation-Footnote-11127397
-Node: VMS Dynamic Extensions1127455
-Node: VMS Installation Details1129140
-Node: VMS Running1131393
-Node: VMS GNV1134234
-Node: VMS Old Gawk1134969
-Node: Bugs1135440
-Node: Other Versions1139637
-Node: Installation summary1146223
-Node: Notes1147281
-Node: Compatibility Mode1148146
-Node: Additions1148928
-Node: Accessing The Source1149853
-Node: Adding Code1151289
-Node: New Ports1157508
-Node: Derived Files1161996
-Ref: Derived Files-Footnote-11167481
-Ref: Derived Files-Footnote-21167516
-Ref: Derived Files-Footnote-31168114
-Node: Future Extensions1168228
-Node: Implementation Limitations1168886
-Node: Extension Design1170069
-Node: Old Extension Problems1171223
-Ref: Old Extension Problems-Footnote-11172741
-Node: Extension New Mechanism Goals1172798
-Ref: Extension New Mechanism Goals-Footnote-11176162
-Node: Extension Other Design Decisions1176351
-Node: Extension Future Growth1178464
-Node: Old Extension Mechanism1179300
-Node: Notes summary1181063
-Node: Basic Concepts1182245
-Node: Basic High Level1182926
-Ref: figure-general-flow1183208
-Ref: figure-process-flow1183893
-Ref: Basic High Level-Footnote-11187194
-Node: Basic Data Typing1187379
-Node: Glossary1190707
-Node: Copying1222653
-Node: GNU Free Documentation License1260192
-Node: Index1285310
+Ref: Two-way I/O-Footnote-1798881
+Ref: Two-way I/O-Footnote-2799068
+Node: TCP/IP Networking799150
+Node: Profiling802268
+Node: Advanced Features Summary809807
+Node: Internationalization811743
+Node: I18N and L10N813223
+Node: Explaining gettext813910
+Ref: Explaining gettext-Footnote-1818933
+Ref: Explaining gettext-Footnote-2819118
+Node: Programmer i18n819283
+Ref: Programmer i18n-Footnote-1824139
+Node: Translator i18n824188
+Node: String Extraction824982
+Ref: String Extraction-Footnote-1826115
+Node: Printf Ordering826201
+Ref: Printf Ordering-Footnote-1828987
+Node: I18N Portability829051
+Ref: I18N Portability-Footnote-1831507
+Node: I18N Example831570
+Ref: I18N Example-Footnote-1834376
+Node: Gawk I18N834449
+Node: I18N Summary835094
+Node: Debugger836435
+Node: Debugging837457
+Node: Debugging Concepts837898
+Node: Debugging Terms839707
+Node: Awk Debugging842282
+Node: Sample Debugging Session843188
+Node: Debugger Invocation843722
+Node: Finding The Bug845108
+Node: List of Debugger Commands851586
+Node: Breakpoint Control852919
+Node: Debugger Execution Control856613
+Node: Viewing And Changing Data859975
+Node: Execution Stack863349
+Node: Debugger Info864986
+Node: Miscellaneous Debugger Commands869057
+Node: Readline Support874145
+Node: Limitations875041
+Node: Debugging Summary877150
+Node: Arbitrary Precision Arithmetic878323
+Node: Computer Arithmetic879739
+Ref: table-numeric-ranges883330
+Ref: Computer Arithmetic-Footnote-1884052
+Node: Math Definitions884109
+Ref: table-ieee-formats887423
+Ref: Math Definitions-Footnote-1888026
+Node: MPFR features888131
+Node: FP Math Caution889804
+Ref: FP Math Caution-Footnote-1890876
+Node: Inexactness of computations891245
+Node: Inexact representation892205
+Node: Comparing FP Values893565
+Node: Errors accumulate894647
+Node: Getting Accuracy896080
+Node: Try To Round898790
+Node: Setting precision899689
+Ref: table-predefined-precision-strings900386
+Node: Setting the rounding mode902216
+Ref: table-gawk-rounding-modes902590
+Ref: Setting the rounding mode-Footnote-1905998
+Node: Arbitrary Precision Integers906177
+Ref: Arbitrary Precision Integers-Footnote-1909161
+Node: POSIX Floating Point Problems909310
+Ref: POSIX Floating Point Problems-Footnote-1913192
+Node: Floating point summary913230
+Node: Dynamic Extensions915420
+Node: Extension Intro916973
+Node: Plugin License918239
+Node: Extension Mechanism Outline919036
+Ref: figure-load-extension919475
+Ref: figure-register-new-function921040
+Ref: figure-call-new-function922132
+Node: Extension API Description924195
+Node: Extension API Functions Introduction925643
+Node: General Data Types930455
+Ref: General Data Types-Footnote-1936410
+Node: Memory Allocation Functions936709
+Ref: Memory Allocation Functions-Footnote-1939554
+Node: Constructor Functions939653
+Node: Registration Functions941398
+Node: Extension Functions942083
+Node: Exit Callback Functions944382
+Node: Extension Version String945632
+Node: Input Parsers946295
+Node: Output Wrappers956180
+Node: Two-way processors960692
+Node: Printing Messages962956
+Ref: Printing Messages-Footnote-1964030
+Node: Updating ERRNO964183
+Node: Requesting Values964922
+Ref: table-value-types-returned965659
+Node: Accessing Parameters966542
+Node: Symbol Table Access967778
+Node: Symbol table by name968290
+Node: Symbol table by cookie970311
+Ref: Symbol table by cookie-Footnote-1974460
+Node: Cached values974524
+Ref: Cached values-Footnote-1978025
+Node: Array Manipulation978116
+Ref: Array Manipulation-Footnote-1979215
+Node: Array Data Types979252
+Ref: Array Data Types-Footnote-1981910
+Node: Array Functions982002
+Node: Flattening Arrays985861
+Node: Creating Arrays992769
+Node: Extension API Variables997541
+Node: Extension Versioning998177
+Node: Extension API Informational Variables1000068
+Node: Extension API Boilerplate1001132
+Node: Finding Extensions1004946
+Node: Extension Example1005506
+Node: Internal File Description1006304
+Node: Internal File Ops1010384
+Ref: Internal File Ops-Footnote-11022146
+Node: Using Internal File Ops1022286
+Ref: Using Internal File Ops-Footnote-11024669
+Node: Extension Samples1024944
+Node: Extension Sample File Functions1026473
+Node: Extension Sample Fnmatch1034122
+Node: Extension Sample Fork1035609
+Node: Extension Sample Inplace1036827
+Node: Extension Sample Ord1040037
+Node: Extension Sample Readdir1040873
+Ref: table-readdir-file-types1041762
+Node: Extension Sample Revout1042567
+Node: Extension Sample Rev2way1043156
+Node: Extension Sample Read write array1043896
+Node: Extension Sample Readfile1045838
+Node: Extension Sample Time1046933
+Node: Extension Sample API Tests1048281
+Node: gawkextlib1048773
+Node: Extension summary1051197
+Node: Extension Exercises1054889
+Node: Language History1056386
+Node: V7/SVR3.11058042
+Node: SVR41060194
+Node: POSIX1061628
+Node: BTL1063008
+Node: POSIX/GNU1063738
+Node: Feature History1069259
+Node: Common Extensions1082588
+Node: Ranges and Locales1083871
+Ref: Ranges and Locales-Footnote-11088487
+Ref: Ranges and Locales-Footnote-21088514
+Ref: Ranges and Locales-Footnote-31088749
+Node: Contributors1088970
+Node: History summary1094539
+Node: Installation1095919
+Node: Gawk Distribution1096864
+Node: Getting1097348
+Node: Extracting1098309
+Node: Distribution contents1099947
+Node: Unix Installation1105700
+Node: Quick Installation1106316
+Node: Additional Configuration Options1108743
+Node: Configuration Philosophy1110547
+Node: Non-Unix Installation1112917
+Node: PC Installation1113375
+Node: PC Binary Installation1114695
+Node: PC Compiling1116547
+Ref: PC Compiling-Footnote-11119571
+Node: PC Testing1119680
+Node: PC Using1120860
+Node: Cygwin1124974
+Node: MSYS1125744
+Node: VMS Installation1126245
+Node: VMS Compilation1127036
+Ref: VMS Compilation-Footnote-11128266
+Node: VMS Dynamic Extensions1128324
+Node: VMS Installation Details1130009
+Node: VMS Running1132262
+Node: VMS GNV1135103
+Node: VMS Old Gawk1135838
+Node: Bugs1136309
+Node: Other Versions1140506
+Node: Installation summary1147092
+Node: Notes1148150
+Node: Compatibility Mode1149015
+Node: Additions1149797
+Node: Accessing The Source1150722
+Node: Adding Code1152158
+Node: New Ports1158377
+Node: Derived Files1162865
+Ref: Derived Files-Footnote-11168350
+Ref: Derived Files-Footnote-21168385
+Ref: Derived Files-Footnote-31168983
+Node: Future Extensions1169097
+Node: Implementation Limitations1169755
+Node: Extension Design1170938
+Node: Old Extension Problems1172092
+Ref: Old Extension Problems-Footnote-11173610
+Node: Extension New Mechanism Goals1173667
+Ref: Extension New Mechanism Goals-Footnote-11177031
+Node: Extension Other Design Decisions1177220
+Node: Extension Future Growth1179333
+Node: Old Extension Mechanism1180169
+Node: Notes summary1181932
+Node: Basic Concepts1183114
+Node: Basic High Level1183795
+Ref: figure-general-flow1184077
+Ref: figure-process-flow1184762
+Ref: Basic High Level-Footnote-11188063
+Node: Basic Data Typing1188248
+Node: Glossary1191576
+Node: Copying1223522
+Node: GNU Free Documentation License1261061
+Node: Index1286179

End Tag Table