summaryrefslogtreecommitdiffstats
path: root/generic/tclIO.c
Commit message (Collapse)AuthorAgeFilesLines
* Merge 8.5.dgp_read_bytesdgp2014-05-081-0/+5
|\
| * Stop leak in iocmd-21.22.dgp2014-05-081-0/+1
| |
| * Stop leak in io-53.5.dgp2014-05-071-0/+1
| |
| * Stop memory leak in io-29.34dgp2014-05-061-0/+2
| |
| * Stop memory leak in io-29.27.dgp2014-05-061-0/+1
| |
* | Merge GotFlag() backport from 8.5. Conflicts galore!dgp2014-05-051-90/+82
|\ \ | |/
| * Backport "GotFlag" macro from Tcl 8.6. Makes code more readable. No change ↵jan.nijtmans2014-05-051-97/+89
| | | | | | | | in functionality.
* | merge 8.5dgp2014-05-021-2/+59
|\ \ | |/
| * Backport channel self restacking support. (Test iogt-2.4).dgp2014-05-021-2/+59
| |\
| | * Add some comments about possible other self-restacking troubles.dgp2014-05-021-1/+8
| | |
| | * Fully restore topChan resetting to accommodate self-restacking channels.dgp2014-05-021-17/+26
| | |
| | * Re-enable buffer recycling.dgp2014-05-021-1/+1
| | |
| | * Stop the segfault in iogt-2.4. First by changing the UpdateInterest()dgp2014-05-011-1/+8
| | | | | | | | | | | | | | | | | | | | | call that triggers it. "downChanPtr" may no longer be the right argument at that point. Second, after ending the segfault, the test became an infinite loop (nested unstacking?! whoa.), so revised the test to one that terminates (and passes). Left behind a comment that the recursive unstacking case may require more examination.
| | * merge trunkdgp2014-05-011-8/+27
| | |\
| | | * Merge in the fixes for improper ChannelBuffer sharing via recycling.dgp2014-05-011-8/+27
| | | |\ | | |_|/ | |/| |
| | * | merge trunkdgp2014-04-291-2/+4
| | |\ \ | | | |/
| | | * Fix bug exposed when buffer recycling is disabled.dgp2014-04-291-2/+4
| | | |\
| | * | | Disable buffer recycling, which creates mysteries.dgp2014-04-251-1/+1
| | | | |
| | * | | Test iortrans-4.8.2 demos an infinite loop. Possible trouble withdgp2014-04-251-0/+5
| | |/ / | | | | | | | | pushback buffers.
| | * | Merge refcounting machinery for ChannelBuffer.dgp2014-04-211-8/+42
| | |\ \
| | * \ \ Fix for Bug [97069ea11a]: Set return message in close if a flush error is ↵oehhar2014-04-041-1/+11
| | |\ \ \ | | | | | | | | | | | | | | | | | | reported (which may be an error from a background flush)
| | * \ \ \ Merge minimal fix for iocmd-23.11.dgp2014-03-281-10/+28
| | |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | Note that top channel regeneration is removed, so that Preserve/Release call pairs are sure to operate on the same pointers. Other bug fixes may need to change that.
| | * \ \ \ \ Simplify the core output operations of channels. Reduce duplicative and dead ↵dgp2014-02-041-590/+63
| | |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | code.
| | * \ \ \ \ \ Eliminate the use of a staging buffer in WriteChars().dgp2014-01-301-185/+115
| | |\ \ \ \ \ \
| | * \ \ \ \ \ \ In WriteChars(), eliminate the copy step through a staging buffer when itdgp2014-01-241-10/+12
| | |\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | is not required for channel translation.
| | * \ \ \ \ \ \ \ Remove from tclIO.h structs used only in tclIO.c.dgp2013-02-261-0/+102
| | |\ \ \ \ \ \ \ \
| | * \ \ \ \ \ \ \ \ Repair linked list management in Tcl_DeleteCloseHandler().dgp2013-02-251-0/+14
| | |\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | CloseCallback struct used only locally. Remove from tclIO.h.
| | * \ \ \ \ \ \ \ \ \ merge core-8-5-branchjan.nijtmans2013-01-311-2/+2
| | |\ \ \ \ \ \ \ \ \ \
| | * | | | | | | | | | | 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.
| | * | | | | | | | | | | | [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
| | |\ \ \ \ \ \ \ \ \ \ \ \ \ \ | | | |/ / / / / / / / / / / / / | | | | / / / / / / / / / / / / | | | |/ / / / / / / / / / / / | | |/| | | | | | | | | | | |
| | * | | | | | | | | | | | | [Bug 3412487]: Now short reads are allowed in synchronous fcopy, avoid ↵ferrieux2011-09-211-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | mistaking them as nonblocking ones.
| | * | | | | | | | | | | | | 3394654, 3393276 Revise FlushChannel() to account for the possibilitydgp2011-08-191-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | that the ChanWrite() call might recycle the buffer out from under us.
| | * | | | | | | | | | | | | Preserve the chanPtr during FlushChannel so that channel driversdgp2011-08-191-4/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | don't yank it away before we're done with it.
| | * | | | | | | | | | | | | [Bug 3096275] Sync fcopy buffers input.ferrieux2011-08-181-5/+10
| | | | | | | | | | | | | | |
| | * | | | | | | | | | | | | [Bug 2946474] Consistently resume backgrounded flushes+closes when exiting.ferrieux2011-08-171-2/+3
| | | | | | | | | | | | | | |
| | * | | | | | | | | | | | | Use Tcl_PrintfObj to generate more (complex) error messages.dkf2011-08-051-6/+3
| | | | | | | | | | | | | | |