summaryrefslogtreecommitdiffstats
path: root/generic/tclIO.c
Commit message (Collapse)AuthorAgeFilesLines
* Simplify the core output operations of channels. Reduce duplicative and dead ↵dgp2014-02-041-590/+63
|\ | | | | | | code.
| * 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().
* | Eliminate the use of a staging buffer in WriteChars().dgp2014-01-301-185/+115
|\ \ | |/
| * 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
| |
* | In WriteChars(), eliminate the copy step through a staging buffer when itdgp2014-01-241-10/+12
|\ \ | |/ | | is not required for channel translation.
| * 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.
* | Remove from tclIO.h structs used only in tclIO.c.dgp2013-02-261-0/+102
|\ \ | |/
| * 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 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.
* | | merge core-8-5-branchjan.nijtmans2013-01-311-2/+2
|\ \ \ | |/ /
| * | 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.
* | | Fix busyloop at exit under TCL_FINALIZE_ON_EXIT when there are unflushed ↵ferrieux2012-12-081-1/+1
| | | | | | | | | | | | nonblocking channels. Thanks Miguel for spotting.
* | | Fix for core bug yet to be named/numbered.dgp_stackedstdchandgp2012-10-021-3/+9
| | |
* | | Final part of result generation conversion (modulo any minor blunders)dkf2012-08-051-58/+67
| | |
* | | 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.
* | | [Bug 3545365]: Never try a bg-flush on a dead channel, just like before ↵ferrieux2012-07-231-1/+4
| | | | | | | | | | | | 2011-08-17.
* | | Factor out a number of common patterns of use of Tcl_DStringAppend.dkf2012-07-031-5/+3
| | |
* | | Factor out constant that must be the same in multiple places. Prompted by adkf2012-05-251-3/+4
| | | | | | | | | conversation with Alexandre Ferrieux.
* | | * generic/tclIORChan.c [Bug 3522560]: Fixed the crash, enabled theandreask2012-05-091-1/+1
| | | | | | | | | | | | | | | | | | | | | test case. Modified [chan postevent] to properly inject the event(s) into the owner thread's event queue for execution in the correct context. Renamed the ForwardOpTo...Thread() function to match with our terminology.
* | | Properly close nonblocking channels even when not flushing them.ferrieux2012-05-071-3/+3
| | |
* | | IMPLEMENTATION OF TIP#398 : Quickly Exit with Non-Blocking Blocked Channelsferrieux2012-04-281-7/+28
|\ \ \
| * | | Compat flag, test, and doc update.tip_398_implferrieux2012-04-281-3/+29
| | | |
| * | | merge trunkferrieux2012-04-241-1/+1
| |\ \ \
| * | | | Take two. Don't forget to apply all patches, even when the phone rings in ↵ferrieux2012-03-221-5/+1
| | | | | | | | | | | | | | | | | | | | between.
| * | | | Implement tip 398 : Quickly Exit with Non-Blocking Blocked Channels. This is ↵ferrieux2012-03-221-3/+2
| | | | | | | | | | | | | | | | | | | | simply a revert of the (C part of the) 1025712d5b commit of 2011-08-17.
* | | | | get rid of _ANSI_ARGS_ and CONSTjan.nijtmans2012-04-261-1/+1
|\ \ \ \ \ | |_|/ / / |/| | / / | | |/ / | |/| |
* | | | make some more internal tables constjan.nijtmans2012-04-231-1/+1
|\ \ \ \ | |/ / / | | / / | |/ / |/| |
| * | 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
* | | [Bug 3412487]: Now short reads are allowed in synchronous fcopy, avoid ↵ferrieux2011-09-211-2/+2
| | | | | | | | | | | | mistaking them as nonblocking ones.