summaryrefslogtreecommitdiffstats
path: root/generic
Commit message (Collapse)AuthorAgeFilesLines
* merge 8.5; stamp release datedgp2014-08-221-20/+8
|\
| * Same results; simpler logic.dgp_slow_readdgp2014-08-221-21/+7
| |
| * Test fix for likely cause of reported I/O slowdown.dgp2014-08-211-0/+2
| | | | | | | | | | | | | | | | | | In a DoRead() revision, it came to favor making every effort to fill buffers, in preference to a more sensible goal of favoring avoiding calls out to the driver if there's already enough data in the buffers to satisfy the read operation. Result is many more calls out to recv() than are a good idea. Ought to show up most glaringly when many Tcl_Read() calls asking for small numbers of bytes (compared to buffer size) each, and that matches the reported case.
| * Docs for Tcl_CreateChannelHandler() state that the registered handler procaku_reviewdgp2014-08-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | will be called back with a mask value. "Mask is an integer mask indicating which of the requested conditions actually exists for the channel; it will contain ***a subset of the bits from the mask argument*** to Tcl_CreateChannelHandler when the handler was created." (emhpasis added). Tcl_NotifyChannel is not honoring this. It passes a mask value that may contain bits not in common with the mask argument to T_CCH(). This commit is a one-liner patch adding in the masking step to make things behave as documented. Thanks to apn for digging this out. (In combination with other questionable code, this led to a hang in test http-4.6 on Windows) Tcl_NotifyChannel() has had this error in all of recorded Tcl history. It's hard to imagine any code dependent on it though. If any exists, it can be revised to pass the mask value it truly needs to T_CCH() and end up with code suitable both before and after this change. If you concur, please merge to core-8-5-branch, and I'll take it from there.
* | merge 8.5dgp2014-08-121-1/+1
|\ \ | |/
| * Accommodate the "udp" package, and any other Tcl package that expects adgp2014-08-121-1/+1
| | | | | | | | | | [read] on a channel @ EOF to attempt another pass through the channel drivers instead of immediately returning an empty string. Correcting this misbehavior appears too disruptive in a patch release to a long stable branch.
* | merge 8.5dgp2014-08-021-0/+3
|\ \ | |/
| * Another Preserve/Release on channels is needed during IO finalization.dgp2014-08-021-0/+3
| |
* | merge 8.5dgp2014-08-021-1/+1
|\ \ | |/
| * Updated package "platform" to version 1.0.13. Separated theandreask2014-08-011-1/+1
| | | | | | | | | | | | | | | | identifiers "macosx*-i386-x86_64" and "macosx-universal" as incompatible with each other. Plus addition of a cast in tclIO.c to match types in a comparison which otherwise bugs a Windows debug build (warnings are errors).
* | merge 8.5dgp2014-08-015-51/+77
|\ \ | |/
| * Backport the cheaper Preserve/Release on channels.dgp2014-08-015-51/+77
| |\
| | * Complete transformation off Tcl_Preserve() legacy onto ref counting.dgp2014-07-301-15/+7
| | |
| | * Reduce the cost of Preserve/Release on channelsdgp2014-07-305-43/+74
| | |
| | * [3757cdf808] Refactoring seems to reduce (maybe somewhat kinda sorta) a dgp2014-07-291-22/+32
| | | | | | | | | bizarre performance regression. Still not what it was. Damn Heisenbugs.
| | * Revise MBRead() to be used in both sync and async modes.dgp2014-07-281-44/+34
| | |
| | * Push MBWrite() differences out to callers.dgp2014-07-271-27/+22
| | |
| | * Rework MBWrite() so it can be used in both sync and async modes.dgp2014-07-271-68/+41
| | | | | | | | | Reduce code duplication.
| | * Use common MBError() routine for sync and async operations.dgp2014-07-261-25/+24
| | |
| | * Extend the "move buffer" implementation to cover the async case.dgp2014-07-261-11/+175
| | |
| | * simplify moveBytes selection logicdgp2014-07-241-3/+1
| | |
| | * Make sure MoveBytes error reporting reproduces what CopyData does. Bugward ↵dgp2014-07-241-0/+8
| | | | | | | | | | | | compatibility!
| | * Make sure MoveBytes records read error messages.dgp2014-07-241-1/+5
| | |
| | * Extend the buffer move optimization to the "same encodings" case.dgp2014-07-231-2/+3
| | |
| | * merge trunkdgp2014-07-2215-98/+346
| | |\
| | | * [12b0997ce7] Plug memleak in iocmd.tf-32.0 .bug_12b0997ce7dgp2014-07-221-23/+40
| | | |
| | | * [75b8433707] Revised fix for memleak in oo instance list management.dgp2014-07-191-0/+7
| | | |\
| | | | * [75b8433707] Plug a subtle memory leak in TclOO. bug_75b8433707dkf2014-07-181-0/+1
| | | |/ | | | | | | | | | | | | Test suite very unhappy with this. Shoving into a mistake branch until that's sorted.
| | | * [b43f2b49f7] New compilation strategy for lappend that allows multi-valuedkf2014-07-185-45/+206
| | | | | | | | | | | | lappend to not have quadratic performance (through better reference management).
| | | * Revised fix for memleak in [info frame]. Still pretty ugly, but not moredgp2014-07-171-1/+9
| | | | | | | | | | | | so than a lot of TIP 280 machinery.
| | | * [9969cf8ca6] Move the bailout when the ->rewind flag is set down after alldgp2014-07-171-4/+4
| | | | | | | | | | | | the housekeeping matters tearing down frames (trace data) is complete.
| | | * Backout checkin that broke test io-39.1.dgp2014-07-161-9/+1
| | | |
| | | * Repair improper assertion.dgp2014-07-161-1/+1
| | | |
| | | * Assert an equality test, not an assignmentdgp2014-07-161-1/+1
| | | |\ | | |_|/ | |/| |
| | | * [6a2d339e50] Plug memleak in INST_STR_REPLACE instruction.dgp2014-07-161-0/+2
| | | |
| | | * Modify the "gettimes" test-command to use the Tcl_Obj API. jan.nijtmans2014-07-161-7/+48
| | | | | | | | | | | | | | | | New "testbytestring" command which can be used to replace the (to-be-deprecated) "bytestring" command from tcltest and/or the "indentity" encoding. Adapt many testcases to use the "testbytestring" command.
| | | * [726349fab8] Stop leaking compression dictionary on zlib xform channel close.dgp2014-07-151-0/+4
| | | |
| | | * Suppress valgrind warnings about uninitialized values.dgp2014-07-111-0/+4
| | | |
| | | * [9b352768e6] Plug memleak in INST_DICT_FIRST.dgp2014-07-111-0/+8
| | | |
| | | * Stop memleak in [info frame].dgp2014-07-111-1/+9
| | | |
| | | * [3479689] Plug memory leak due to incomplete bug fix.dgp2014-07-111-12/+6
| | | |
| | | * [7368d225a6] Extend the auto-cleanup of zero ref count values passed in todgp2014-07-101-0/+3
| | | |\ | | | | | | | | | | | | | | | | | | | | the Tcl_*SetVar*() family of routines to cover the missing case where the flags value of TCL_APPEND_VALUE is passed in alone. *** POTENTIAL INCOMAPTIBILITY***
| | | * \ Repair buffer indexing error in Tcl_ReadRaw().dgp2014-07-101-1/+1
| | | |\ \
| | | * | | Don't use Tcl_GetCommandInfo when Tcl_FindCommand suffices.jan.nijtmans2014-07-091-3/+2
| | | | | |
| | * | | | First draft of using buffer moves in place of buffer copies to create andgp2014-07-091-2/+117
| | |/ / / | | | | | | | | | | efficient [chan copy].
| | * | | The write and flush operations of reflected transforms ([chan push]) havedgp2014-07-081-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | been converting all lower level channel errors from Tcl_WriteRaw() into EINVAL. Generally this is a perplexing discard of useful information, but worse it interferes with the EAGAIN signalling that is required to manage the BLOCKED state of a nonblocking channel. Thanks to aspect for demo scripts that pointed to the bug.
| | * | | Update Unicode tables to Unicode 7.0jan.nijtmans2014-07-042-1063/+1194
| | |\ \ \
| | * \ \ \ [c31ca233ca] Fix TclGetsObjBinary() so that each [gets] rediscovers whetherdgp2014-07-021-5/+4
| | |\ \ \ \ | | | | | | | | | | | | | | a nonblocking channel is blocked.
| | * \ \ \ \ Fix mismatch of Tcl_Preserve() / Tcl_Release().dgp2014-06-261-2/+1
| | |\ \ \ \ \
| | * \ \ \ \ \ Simplify / refactor Tcl_ReadRaw(). No need for CopyBuffer().dgp2014-06-241-127/+50
| | |\ \ \ \ \ \