summaryrefslogtreecommitdiffstats
path: root/generic/tclIO.c
Commit message (Collapse)AuthorAgeFilesLines
* cleaning up option processing throughout Tcl to use common functions/languagedkf2014-06-231-16/+19
|
* When too many chars are read by ReadChars() and we trim the limits to get it ↵dgp2014-06-051-4/+11
|\ | | | | | | right on the next pass, don't forget the TCL_UTF_MAX padding demanded by Tcl_ExternalToUtf(). (Thanks for finding that, aku!) Fix the factorPtr management. It was just totaly wrong. The factor should be a ratio of the record of bytes read to the record of chars read. With those fixes, new test io-12.6 covers the "too many chars" code.
| * When too many chars are read by ReadChars() and we trim the limits todgp2014-06-051-4/+11
| | | | | | | | | | | | | | get it right on the next pass, don't forget the TCL_UTF_MAX padding demanded by Tcl_ExternalToUtf(). (Thanks for finding that, aku!) Fix the factorPtr management. It was just totaly wrong. The factor should be a ratio of the record of bytes read to the record of chars read. With those fixes, new test io-12.6 covers the "too many chars" code.
* | Revise DiscardOutput() to account for revisions to the loop in ↵dgp2014-06-041-0/+5
|\ \ | |/ | | | | FlushChannel() which is its only caller. We need to discard the curOutPtr buffer as well, and not count on another pass through the loop to attempt to flush it (and raise the same failure again?).
| * Revise DiscardOutput() to account for revisions to the loop in FlushChannel()dgp2014-06-041-0/+5
| | | | | | | | | | which is its only caller. We need to discard the curOutPtr buffer as well, and not count on another pass through the loop to attempt to flush it (and raise the same failure again?).
| * Backport I/O core fixes made known by async socket work on trunk.dgp2014-06-031-7/+15
| |\ | |/ |/|
* | These edits make all tests outside of socket-14.* pass on OSX Mavericks.dgp_async_socketdgp2014-06-031-1/+3
| | | | | | | | Several socket-14.* tests failing there, and those that pass are very slow about it. Firewall or poor networking configuration may be playing a role.
* | These edits make the tests socket-14.11.[01] stop hanging, but also introducedgp2014-06-021-6/+12
| | | | | | a whole raft of test failures. WIP.
* | Correct the interest masks in the Tcl_CreateFileHandler() calls in ↵dgp2014-05-311-5/+12
|\ \ | | | | | | | | | PipeWatchProc(). When we are interested in both readable and writable events of a command pipeline channel, we only want the readable from the read end of the pipe, and the writable from the write end of the pipe.
| * | Correct the interest masks in the Tcl_CreateFileHandler() calls indgp2014-05-311-5/+12
| |/ | | | | | | | | PipeWatchProc(). When we are interested in both readable and writable events of a command pipeline channel, we only want the readable from the read end of the pipe, and the writable from the write end of the pipe.
* | Refinements of FlushChannel() and its callers. Notably includes removal of ↵dgp2014-05-291-106/+66
|\ \ | |/ | | | | the flag BUFFER_READY.
| * Refinements of FlushChannel() and its callers. Notably includes removaldgp2014-05-281-92/+65
| |\ | | | | | | of the flag BUFFER_READY.
| | * Update comment to explain assumptions.dgp_flush_channeldgp2014-05-281-3/+10
| | |
| | * Further simplifications to FlushChannel(). This makes clear thedgp2014-05-281-76/+38
| | | | | | | | | BUFFER_READY flag serves no necessary purpose, so it is removed.
| | * Expand the IsBufferFull() macro to check non-NULL bufPtr..dgp2014-05-281-7/+10
| | |
| | * Increase size of test io-29.34 so that it more portably tests the case wheredgp2014-05-281-0/+9
| | | | | | | | | | | | the OS networking machinery gets backed up and blocks. Added several TODO comments on potential simplifications.
| | * Move code that can only matter in the first loop iteration out of the loop.dgp2014-05-271-13/+6
| |/
* | Fix gcc warning (signed-unsigned compare)jan.nijtmans2014-05-211-1/+1
| |
| |
| \
*-. \ Rework the management of the CHANNEL_BLOCKED and CHANNEL_EOF flags, in ↵dgp2014-05-201-137/+139
|\ \ \ | | |/ | | | | | | particular not allowing them to leak between multiple layers of a stacked channel. Much common code refactored into ChanRead().
| | * Rework the management of the CHANNEL_BLOCKED and CHANNEL_EOF flags, indgp2014-05-201-138/+137
| | |\ | | | | | | | | | | | | particular not allowing them to leak between multiple layers of a stacked channel. Much common code refactored into ChanRead().
| | | * Improved use of EOF state to avoid worthless allocations.dgp2014-05-161-10/+12
| | | |
| | | * Move the resets and testings of the BLOCKED flag to where they make more sense.dgp2014-05-161-22/+17
| | | |
| | | * merge 8.5dgp2014-05-161-9/+37
| | | |\ | | | |/ | | |/|
| | | * Push the setting and clearing of CHANNEL_BLOCKED flag to the more innerdgp2014-05-151-11/+12
| | | | | | | | | | | | parts of the channel read machinery.
| * | | Merge flag changes. - Wow, no trouble with [chan push] demonstrated.dgp2014-05-161-39/+37
| | | |
| * | | merge trunkdgp2014-05-161-9/+37
| |\ \ \ | |/ / / |/| | |
| * | | Refactored much management of the BLOCKED and EOF flags into ChanRead() thendgp2014-05-131-99/+104
| |\ \ \ | | | |/ | | |/| | | | | | | | | | | | | | | | | began repairing some of the logic about them. Tests iogt-2.* now fail because they've been crafted as experiments recording the fine detail of reflected channel driver calls, and fixing the management of channel flags is changing that. zlib-8.5 also needed adjustment to reflect that an EOF set must come with an empty string read when flags are functioning properly.
| | * | Rework Tcl_ReadRaw() mostly taking things out of the loop that never repeat.dgp2014-05-131-36/+20
| | | |
| | * | Salvaged what was left of value in the dgp-read-bytes-detour branch.dgp2014-05-131-79/+97
| | |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Refactored much management of the BLOCKED and EOF flags into ChanRead() then began repairing some of the logic about them. Tests iogt-2.* now fail because they've been crafted as experiments recording the fine detail of reflected channel driver calls, and fixing the management of channel flags is changing that.
| | | * | missing declarationdgp_read_bytes_detourdgp2014-03-211-0/+1
| | | | |
| | | * | Fixup ChanRead() header. Note (dstSize > 0) precondition.dgp2014-03-211-2/+8
| | | | |
| | | * | Documentation header for ChanRead()dgp2014-03-211-2/+23
| | | | |
| | | * | Both callers of ChanRead() have simlar epilogs. Shift that into ChanReaddgp2014-03-201-73/+50
| | | | | | | | | | | | | | | and refactor.
* | | | | merge 8.5dgp2014-05-161-9/+37
|\ \ \ \ \ | |/ / / / |/| | | / | | |_|/ | |/| |
| * | | merge 8.5bug_io_32_11dgp2014-05-161-1/+0
| |\ \ \ | | |/ /
| * | | Merge completion of dgp-read-bytes branch.dgp2014-05-161-912/+544
| |\ \ \
| * | | | Bug fix - accept consumption of the trailing newline in crlf with nodgp2014-05-161-9/+37
| | | | | | | | | | | | | | | characters produced. Also delete false assertions.
| | | | |
| \ \ \ \
*-. \ \ \ \ Merge the reforms of dgp-trunk-read branch into trunk. (port of dgp-read-bytes)dgp2014-05-081-812/+552
|\ \ \ \ \ \ | | | |_|/ / | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Large overhaul of I/O read operations - Protects integer overflow of buffers, reusing append machinery - Forces -buffersize changes to take place when commanded - Uses assertions to simplify code in "can't happen" situations - Eliminated duplication of -translation processing - Fixes bugs io-35.18b and io-35.20
| | * | | | Merge the reforms of dgp-read-bytes branch into 8.5+ releases.dgp2014-05-081-826/+557
| | |\ \ \ \ | | | | |/ / | | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Large overhaul of I/O read operations - Protects integer overflow of buffers, reusing append machinery - Forces -buffersize changes to take place when commanded - Uses assertions to simplify code in "can't happen" situations - Eliminated duplication of -translation processing - Fixes bugs io-35.18b and io-35.20
| | | * | | Merge 8.5.dgp_read_bytesdgp2014-05-081-0/+5
| | | |\ \ \ | | | |/ / / | | |/| | |
| | | * | | Merge GotFlag() backport from 8.5. Conflicts galore!dgp2014-05-051-90/+82
| | | |\ \ \
| | | * \ \ \ merge 8.5dgp2014-05-021-2/+59
| | | |\ \ \ \
| | | * \ \ \ \ merge 8.5dgp2014-05-011-10/+31
| | | |\ \ \ \ \
| | | * \ \ \ \ \ merge 8.5dgp2014-04-211-8/+42
| | | |\ \ \ \ \ \
| | | * \ \ \ \ \ \ merge 8.5dgp2014-04-161-4/+32
| | | |\ \ \ \ \ \ \ | | | | |_|_|_|_|_|/ | | | |/| | | | | |
| * | | | | | | | | merge trunkdgp2014-05-081-8/+3
| |\ \ \ \ \ \ \ \ \ | |/ / / / / / / / / |/| | | | | | | | |
| * | | | | | | | | merge trunkdgp2014-05-081-1/+12
| |\ \ \ \ \ \ \ \ \
| * \ \ \ \ \ \ \ \ \ merge trunkdgp2014-05-021-14/+42
| |\ \ \ \ \ \ \ \ \ \
| * \ \ \ \ \ \ \ \ \ \ merge trunkdgp2014-05-011-10/+31
| |\ \ \ \ \ \ \ \ \ \ \
| * \ \ \ \ \ \ \ \ \ \ \ merge trunkdgp2014-04-211-8/+42
| |\ \ \ \ \ \ \ \ \ \ \ \