| Commit message (Collapse) | Author | Age | Files | Lines |
|\ |
|
| |\ |
|
| | |\
| | | |
| | | | |
socket. Many thanks to Eric Boudaillier for the report and testing support.
|
| | | | |
|
| | |/
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| | |\ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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.
|
| | |/ |
|
| |\ \
| | |/
| | |
| | | |
style dialogs when Tk is loaded on Windows
|
| | |
| | |
| | |
| | | |
style dialogs when Tk is loaded on Windows
|
| | | |
|
| | | |
|
|\ \ \
| |/ / |
|
| | | |
|
| |\ \
| | |/
| | |
| | | |
Don't know if that was by accident, but seems unwise in a Tcl patch release.
|
| | |
| | |
| | |
| | | |
Don't know if that was by accident, but seems unwise in a Tcl patch release.
|
| |\ \
| | |/ |
|
| | | |
|
|\ \ \
| |/ / |
|
| |\ \
| | |/ |
|
| | |
| | |
| | |
| | |
| | | |
[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.
|
| | | |
|
|\ \ \
| |/ / |
|
| |\ \
| | |/ |
|
| | | |
|
|\ \ \
| |/ / |
|
| |\ \
| | |/ |
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
fix of a TRACE string literal in tclExecute.c with a bogus escape. Both
would otherwise bug a Windows debug build (where warnings are errors).
|
| |\ \
| | |/
| | |
| | |
| | | |
identifiers "macosx*-i386-x86_64" and "macosx-universal" as
incompatible with each other.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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).
|
| |\ \
| | |/ |
|
| | |\ |
|
|\ \ \ \
| |/ / / |
|
| | | |
| | | |
| | | |
| | | | |
compile attempts. Copy/paste from CompileCmdCompileProc(). May be
refactor opportunity here.
|
| | | | |
|
| | | |
| | | |
| | | |
| | | | |
[4d417791c9]
|
|\ \ \ \
| |/ / / |
|
| | | | |
|
|\ \ \ \
| |/ / / |
|
| | |/
| |/|
| | | |
performance.
|
| | | |
|
| | | |
|
| | |
| | |
| | | |
bizarre performance regression. Still not what it was. Damn Heisenbugs.
|
|/ / |
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
those circumstances where the incumbent implementation is known to perform
a byte-for-byte copy from input channel to output channel.
In that case, the new implementation ceases the activity of copying every
byte from buffer to buffer to buffer to buffer to effect the copy. Instead
it arranges for the very same buffer the input channel read driver read into
to be the buffer the output channel write driver writes out from. No data
copying (or even examining) at all. When the proper conditions apply, this
ought to be noticeably faster.
|
| |\ \
| |/ /
|/| | |
|
|\ \ \
| | |/
| |/| |
|
| | | |
|
| | | |
|