diff options
Diffstat (limited to 'doc/gawk.info')
-rw-r--r-- | doc/gawk.info | 443 |
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 |