summaryrefslogtreecommitdiffstats
path: root/generic/tclIO.h
Commit message (Collapse)AuthorAgeFilesLines
* Merge 8.7jan.nijtmans2020-09-111-1/+1
|\
| * Merge 8.6. Remove tests/safe-stock86.test for win builds too (GIT, what are ↵jan.nijtmans2020-09-111-1/+1
| |\ | | | | | | | | | you doing ...!)
| | * Fix [https://core.tcl-lang.org/tk/tktview?name=3bc0f44ef3|3bc0f44ef3]: UBSan ↵jan.nijtmans2020-09-111-1/+1
| | | | | | | | | | | | | | | complains about body.chars[] usage. (Yes, I know, this one is for Tk, but Tcl was using the same construct too ....)
* | | Merge 8.7jan.nijtmans2019-06-121-1/+1
|\ \ \ | |/ /
| * | Eliminate (internal) TclOffset() usage, just use offsetof() in stead.jan.nijtmans2019-06-121-1/+1
| | |
| * | Add entry for Tcl_StaticPackage in internal stub table, since the public one ↵jan.nijtmans2018-11-151-1/+1
| | | | | | | | | | | | | | | is deprecated and will be removed in 9.0 Clean-up a lot of type-casts, which are not necessary any more.
* | | Another round of int -> size_t modifications, so strings > 2Gb are handled ↵jan.nijtmans2019-01-241-3/+3
| | | | | | | | | | | | correctly on 64-bit platforms.
* | | change ClientData -> void * in a lot of places (mainly header files)jan.nijtmans2017-12-281-1/+1
|/ /
* | More internal use of size_t in stead of int, e.g. for epoch'sjan.nijtmans2017-02-151-1/+1
|/
* [104f2885bb] Rework the "chan" Tcl_ObjType to properly validate cached ↵dgp2016-07-181-4/+2
|\ | | | | | | channel name lookups.
| * [104f2885bb] Rework the "chan" Tcl_ObjType to properly validate cacheddgp2016-07-181-4/+2
| | | | | | channel name lookups.
* | Align comment. Remove some end-of-line spacing. No functional changes.jan.nijtmans2015-09-281-1/+1
|\ \ | |/
| * align comment, no functional changejan.nijtmans2015-09-281-1/+1
| |
* | Member field which should not have been const, because it is dynamically ↵jan.nijtmans2015-06-231-1/+1
|\ \ | |/ | | | | allocated. Some end-of-line spacing in header files.
| * Member field which should not have been CONST, because it is dynamically ↵jan.nijtmans2015-06-231-1/+1
| | | | | | | | allocated
| * Backport the cheaper Preserve/Release on channels.dgp2014-08-011-0/+2
| |\ | |/ |/|
* | Reduce the cost of Preserve/Release on channelsdgp2014-07-301-0/+2
| |
* | Refinements of FlushChannel() and its callers. Notably includes removal of ↵dgp2014-05-291-5/+0
|\ \ | |/ | | | | the flag BUFFER_READY.
| * Further simplifications to FlushChannel(). This makes clear thedgp2014-05-281-5/+0
| | | | | | BUFFER_READY flag serves no necessary purpose, so it is removed.
| * merge 8.5dgp2014-04-211-0/+1
| |\
* | \ merge trunkdgp2014-04-211-0/+1
|\ \ \
| * \ \ Merge refcounting machinery for ChannelBuffer.dgp2014-04-211-0/+1
| |\ \ \ | | | |/ | | |/|
| | * | Added a refcounting mechanism to ChannelBuffers. Other edits todgp2014-04-211-0/+1
| | | | | | | | | | | | stop segfaults in tests iocmd-21.2[12].
* | | | Merge the checkins of the dgp-read-bytes branch onto the trunk, up todgp2014-03-231-26/+0
|\ \ \ \ | |/ / / |/| | / | | |/ | |/| | | | and including checkin a1e82fb63e . Do not merge checkin bae1c688f2 which starts to take the dgp-read-bytes branch into directions apparently unfriendly to stacked channels, which tests for [chan push] on the trunk help us to detect.
| * | Remove long dead "BAD_BLOCKING" support code so it no longer confusesdgp2014-03-171-23/+0
| | | | | | | | | people reading/editing this code.
| * | Remove old dead code; silence compiler warnings; tidy up.dgp2014-03-051-3/+0
| |/
* | Remove from tclIO.h structs used only in tclIO.c.dgp2013-02-261-108/+4
|\ \ | |/
| * structs *ChannelHandler* GetsState CopyState used only locally.dgp2013-02-261-108/+4
| |\ | | | | | | Remove from tclIO.h.
| | * structs ChannelHandler ChannelHandlerEvent GetsState CopyState used locally.dgp2013-02-261-83/+4
| | | | | | | | | Remove from tclIO.h.
| | * struct NextChannelHandler used only locally. Remove from tclIO.h.dgp2013-02-261-25/+0
| | |
* | | Repair linked list management in Tcl_DeleteCloseHandler().dgp2013-02-251-13/+4
|\ \ \ | |/ / | | | CloseCallback struct used only locally. Remove from tclIO.h.
| * | Repair linked list management in Tcl_DeleteCloseHandler().dgp2013-02-251-13/+4
| |\ \ | | |/ | | | CloseCallback struct used only locally. Remove from tclIO.h.
| | * Repair linked list management in Tcl_DeleteCloseHandler(). dgp2013-02-251-12/+4
| | | | | | | | | CloseCallback struct is used only locally. Remove from tclIO.h.
* | | Factor out constant that must be the same in multiple places. Prompted by adkf2012-05-251-0/+7
| | | | | | | | | conversation with Alexandre Ferrieux.
* | | Now that we're no longer using SCM based on RCS, the RCS Keyword linesdgp2011-03-021-2/+0
|\ \ \ | |/ / | | | cause more harm than good. Purged them (except in zlib files).
| * | 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.
| | * * tests/io.test (io-53.10): Testcase for bi-directionaly fcopy.andreas_kupries2008-04-071-2/+3
| | | | | | | | | | | | | | | | | | | | | * 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.h (CHANNEL_INCLOSE): New flag. Set inandreas_kupries2004-07-151-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * generic/tclIO.c (Tcl_UnregisterChannel): 'Tcl_Close' while the * generic/tclIO.c (Tcl_Close): close callbacks are run. Checked in 'Tcl_Close' and 'Tcl_Unregister' to prevent recursive call of 'close' in the close-callbacks. This is a possible error made by implementors of virtual filesystems based on 'tclvfs', thinking that they have to close the channel in the close handler for the filesystem. * generic/tclIO.c: * generic/tclIO.h: * Not reverting, but #ifdef'ing the changes from May 19, 2004 out of the core. This removes the ***POTENTIAL INCOMPATIBILITY*** for channel drivers it introduced. This has become possible due to Expect gaining a BlockModeProc and now handling blockingg and non-blocking modes correctly. Thus [SF Tcl Bug 943274] is still fixed if a recent enough version of Expect is used. * doc/CrtChannel.3: Added warning about usage of a channel without a BlockModeProc.
| | * * tclIO.c: Fixed [SF Tcl Bug 943274]. This is the same problem asandreas_kupries2004-05-191-1/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * tclIO.h: [SF Tcl Bug 462317], see ChangeLog entry 2001-09-26. The fix done at that time is incomplete. It is possible to get around it if the actual read operation is defered and not executed in the event handler itself. Instead of tracking if we are in an read caused by a synthesized fileevent we now track if the OS has delivered a true event = actual data and bypass the driver if a read finds that there is no actual data waiting. The flag is cleared by a short or full read.
| * | * generic/tclIO.c (CopyData): Allow the total number of bytes copieddkf2010-03-201-2/+2
| | | | | | | | | | | | by [fcopy] to exceed 2GB. Can happen when no -size parameter given.
| * | * tests/io.test (io-53.10): Testcase for bi-directionaly fcopy.andreas_kupries2008-04-071-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | * tests/chanio.test: * 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.
* | | [Bug 3129448]: Possible over-allocation on 64-bit platforms, part 2nijtmans2010-12-101-4/+4
| | |
* | | Allow [fcopy] to move more than 2GB per call. Frederic Bonnet identified issue.dkf2010-03-201-3/+3
| | |
* | | [Bug 218977] Tcl_DbCkfree needs a return valuenijtmans2009-02-271-2/+2
| | | | | | | | | | | | don't use CONST84/CONST86 in internal header files
* | | * generic/tclIO.c (Tcl_CloseEx,CloseWrite,CloseChannelPart,ChanCloseHalf):andreas_kupries2008-12-181-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rewrite the half-close to properly flush the channel, like is done for a full close, going through FlushChannel, and using the flag BG_FLUSH_SCHEDULED (async flush during close). New functions CloseWrite, CloseChannelPart, new flag CHANNEL_CLOSEDWRITE. * tests/chanio.test (chanio-28.[67]): Reactivated these tests. Replaced tclsh -> [interpreter] to get correct executable for the pipe process, and added after cancel to kill the fail timers when we are done. Removed the explicits calls to [flush], now that [close] handles this correctly.
* | | * doc/ChnlStack.3: CONSTified the typePtr argumentnijtmans2008-10-041-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * doc/CrtChannel.3: of Tcl_CreateChannel and Tcl_StackChannel * generic/tcl.decls and the return value of Tcl_GetChannelType * generic/tcl.h * generic/tclIO.h * generic/tclIO.c * ChangeLog * generic/tclDecls.h: regenerated This change complies with TIP #27.
* | | More elimination of pre-C89-isms.dkf2008-05-021-2/+2
| | |
* | | * tests/io.test (io-53.10): Testcase for bi-directionaly fcopy.andreas_kupries2008-04-071-2/+3
|/ / | | | | | | | | | | | | | | * tests/chanio.test: * 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.
* | merge stable branch onto HEADdgp2007-12-131-1/+1
| |