summaryrefslogtreecommitdiffstats
path: root/generic/tclIO.c
Commit message (Collapse)AuthorAgeFilesLines
* Revise the logic for setting TCL_ENCODING_END in the outputEncodingFlagsdgp_no_buffer_recycledgp2014-04-291-2/+4
| | | so it does not rely on buffer recycling.
* Disable buffer recycling to expose bugs for fixing.dgp2014-04-251-1/+1
|
* Added a refcounting mechanism to ChannelBuffers. Other edits todgp2014-04-211-8/+42
| | | stop segfaults in tests iocmd-21.2[12].
* Fix test failure socket-2.9: "1 {not owner}" instead of "1 {couldn't open ↵oehhar2014-04-011-9/+8
| | | | socket address already in use}" by only setting returned error message if not jet set.
* Set return message in close if a flush error is reported (which may be an ↵oehhar2014-04-011-2/+13
| | | | error from a background flush). Ticket [97069ea11a]
* Minimal patch to fix iocmd-23.11. Might not be the best fix, but is *a* fix.dgp2014-03-271-3/+20
|
* Simplify macro typecasting.dgp2014-01-311-6/+3
|
* The "channel" Tcl_ObjType is caching only. It never needs an UpdateString ↵dgp2014-01-311-46/+6
| | | | | routine. It's also static to the tclIO.c file.
* Do not call updateStringProc directly. We have TclGetString() for that.dgp2014-01-311-10/+1
|
* Refactor to eliminate the DoWriteChars() layer.dgp2014-01-301-64/+22
|
* Eliminate DoWrite(). It duplicates WriteBytes().dgp2014-01-301-163/+2
|
* Trial: Implement DoWrite() as WriteBytes().dgp2014-01-301-0/+4
|
* Simplification and cleanup enabled by last commit.dgp2014-01-301-301/+7
|
* Refactor WriteChars() and WriteBytes() into simple wrappers of a commondgp2014-01-301-13/+35
| | | routine Write().
* The outputStage field is now unused, so never allocate it.dgp2014-01-281-29/+0
|
* tidy things updgp2014-01-281-194/+17
|
* Working code with no staging buffer use.dgp2014-01-281-31/+97
|
* WIPdgp2014-01-281-0/+69
|
* Eliminate the copy to a staging buffer when that serves no functional purpose.dgp2014-01-241-10/+12
|
* Fix C99 comment-ism breaking the native AIX compiler. HPUX likely as well.andreask2013-05-291-2/+2
|
* Backport 8.6's fix [checkin 5af0d249de] to [Bug 2901998]: Inconsistent ↵ferrieux2013-05-011-8/+92
| | | | buffered I/O. Tcl's I/O now flushes buffered output before reading, discards buffered input before writing, etc.
* structs *ChannelHandler* GetsState CopyState used only locally.dgp2013-02-261-0/+102
|\ | | | | Remove from tclIO.h.
| * structs ChannelHandler ChannelHandlerEvent GetsState CopyState used locally.dgp2013-02-261-0/+78
| | | | | | Remove from tclIO.h.
| * struct NextChannelHandler used only locally. Remove from tclIO.h.dgp2013-02-261-0/+24
| |
* | Repair linked list management in Tcl_DeleteCloseHandler().dgp2013-02-251-0/+14
|\ \ | |/ | | CloseCallback struct used only locally. Remove from tclIO.h.
| * Repair linked list management in Tcl_DeleteCloseHandler(). dgp2013-02-251-0/+14
| | | | | | CloseCallback struct is used only locally. Remove from tclIO.h.
* | Use twoPtrValue.ptr1 in stead of otherValuePtr everywhere. This is exactly ↵jan.nijtmans2013-01-311-2/+2
| | | | | | | | the same field, but it allows twoPtrValue.ptr2 to be used for other purposes.
* | When checking for std channels being closed, compare the channel state,dgp2012-10-031-5/+9
|\ \ | |/ | | not the channel itself so that stacked channels do not cause trouble.
| * When checking for std channels being closed, compare the channel state,dgp2012-10-031-20/+24
| | | | | | not the channel itself so that stacked channels do not cause trouble.
| * Preserve the chanPtr so that script evaluation cannot invalidate it whendgp2012-07-241-0/+2
| | | | | | we plan to use it again.
* | Preserve the chanPtr so that script evaluation cannot invalidate it whendgp2012-07-241-0/+2
| | | | | | we plan to use it again.
* | make some more internal tables constjan.nijtmans2012-04-231-1/+1
|\ \ | |/
| * make some more internal tables constjan.nijtmans2012-04-231-1/+1
| | | | | | On cygwin, install dll's in /usr/bin, not in /usr/lib
* | Make sure SetFooFromAny routines react reasonably when passed a NULL interp.dgp2011-04-211-0/+3
|\ \ | |/
* | Now that we're no longer using SCM based on RCS, the RCS Keyword lines causedgp2011-03-021-2/+0
|\ \ | |/ | | more harm than good. Purged them.
| * Now that we're no longer using SCM based on RCS, the RCS Keyword lines causedgp2011-03-011-2/+0
| | | | | | more harm than good. Purged them.
| * * generic/tclIO.c (CopyData): [Bug 2895565]. Dropped bogosityandreas_kupries2009-11-121-5/+12
| | | | | | | | | | | | * tests/io.test: which used the number of _written_ bytes or character to update the counters for the read bytes/characters. New test io-53.11. This is a backward port from the 8.5 branch.
| * * generic/tclIO.c (FlushChannel): Skip OutputProc for low-levelandreas_kupries2009-10-231-2/+6
| | | | | | | | | | | | 0-length writes. When closing pipes which have already been closed not skipping leads to spurious SIG_PIPE signals. Reported by Mikhail Teterin <mi+thun@aldan.algebra.com>.
| * * generic/tclIO.c (TclFinalizeIOSubsystem): Revised latest commit todgp2008-12-011-3/+3
| | | | | | | | something that doesn't crash the test suite.
| * * generic/tclIO.c (TclFinalizeIOSubsystem): Applied backport ofandreas_kupries2008-11-251-2/+2
| | | | | | | | | | | | Alexandre Ferrieux's patch for [Bug 2270477] to prevent infinite looping during finalization of channels not bound to interpreters.
| * * generic/tclIO.c: Backport of fix for [Bug 2333466].andreas_kupries2008-11-231-2/+4
| |
| * * win/tclWinChan.c (FileWideSeekProc): Accepted a patch byandreas_kupries2008-05-231-8/+8
| | | | | | | | | | | | | | | | | | | | | | Alexandre Ferrieux <ferrieux@users.sourceforge.net> to fix the [Bug 1965787]. 'tell' now works for locations > 2 GB as well instead of going negative. * generic/tclIO.c (Tcl_SetChannelBufferSize): Accepted a patch by * tests/io.test: Alexandre Ferrieux <ferrieux@users.sourceforge.net> to fix the [Bug 1969953]. Buffersize outside of the supported range are now clipped to nearest boundary instead of ignored.
| * * generic/tclIO.c (CopyData): Applied another patch by Alexandreandreas_kupries2008-04-151-6/+9
| | | | | | | | | | | | | | * io.test (io-53.8a): Ferrieux <ferrieux@users.sourceforge.net>, to shift EOF handling to the async part of the command if a callback is specified, should the channel be at EOF already when fcopy is called. Testcase by myself.
| * * tests/io.test (io-53.10): Testcase for bi-directionaly fcopy.andreas_kupries2008-04-071-27/+39
| | | | | | | | | | | | | | * generic/tclIO.c: Additional changes to data structures for fcopy * generic/tclIO.h: and channels to perform proper cleanup in case of a channel having two background copy operations running as is now possible.
| * * generic/tclIO.c (BUSY_STATE, CheckChannelErrors,andreas_kupries2008-04-071-4/+8
| | | | | | | | | | | | | | | | | | | | | | TclCopyChannel): New macro, and the places using it. This change allows for bi-directional fcopy on channels. Thanks to Alexandre Ferrieux <ferrieux@users.sourceforge.net> for the patch. * tests/io.test (io-53.9): Made test cleanup robust against the possibility of slow process shutdown on Windows. Backported from Kevin Kenny's change to the same test on the 8.5 and head branches.
| * * generic/tclIO.c (CopyData): Applied patch [Bug 1932639] toandreas_kupries2008-04-031-13/+23
| | | | | | | | | | | | * tests/io.test: prevent fcopy from calling -command synchronously the first time. Thanks to Alexandre Ferrieux <ferrieux@users.sourceforge.net> for report and patch.
| * * generic/tclIO.c (CopyData): Applied patch for the fcopy problemandreas_kupries2008-04-021-2/+2
| | | | | | | | | | | | | | [Bug 780533], with many thanks to Alexandre Ferrieux <ferrieux@users.sourceforge.net> for tracking it down and providing a solution. Still have to convert his test script into a proper test case.
| * * generic/tclIO.c: Backport memleak fix in TclFinalizeIOSubsystem.dgp2007-05-241-74/+79
| |
| * * generic/tclIO.c (Tcl_StackChannel): Fixed [SF Tcl Bug 1564642],andreas_kupries2006-09-251-2/+2
| | | | | | | | | | aka coverity #51. Extended loop condition, added checking for NULL to prevent seg.fault.
| * * generic/tclIO.c (Tcl_CreateChannel): allow Tcl std channelhobbs2006-07-101-3/+8
| | | | | | | | inheritance to be #defined out (default remains in).