| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
passed up to become an eof of the transform before continuing on to additional
ReadRaw() from the base channel. This way we don't miss fleeting EOFs.
|
|
|
| |
with the unwarranted assumption that EOF is a permanent condition.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
a ForwardingResult to remain on the forwardList after it has been
processed.
|
|
|
| |
direct clearing of CHANNEL_EOF flag.
|
|
|
| |
passed to the read method of the channel transformation command. Save a copy.
|
| |
|
|
|
|
| |
ckalloc to allow MEM_DEBUG to work properly
|
| |
|
|
|
| |
conversation with Alexandre Ferrieux.
|
|
|
|
| |
they should be zero in the first place (see UpdateInterest) and (2) ever-reposting cases will be detected with greater ease.
|
|
|
|
| |
timed events, and added code handling special situations like EAGAIN, parent eof, etc.
|
| |
|
|
|
| |
including adopting a "dead" field as was done in tclIORChan.c.
|
|
|
|
|
| |
missing initialization of the 'dsti' field. Reported by Don
Porter, on chat.
|
|
|
|
| |
ReflectedTransforms, yet free all Tcl_Obj values in the same thread that
alloced them.
|
| |
|
|
|
| |
at some of its exits.
|
| |
|
|
|
| |
rest of Tcl source code. No ABI change. API change *should* be harmless.
|
|
|
| |
the Engineering Manual.
|
| |
|
|
|
| |
cause more harm than good. Purged them (except in zlib files).
|
|
|
|
|
| |
* generic/tclIORTrans.c: in InvokeTclMethod and callers.
* tests/ioTrans.test:
|
| |
|
|
|
|
|
|
|
| |
included, don't include <limits.h>
again. Follow-up to [Bug 2991415]:
tclport.h #included before limits.h
See comments in [Bug 2991415]
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
ReflectSeekWide): [Bug 2921116]: Added missing TclEventuallyFree
calls for preserved ReflectedTransform* structures. Reworked
ReflectInput to preserve the structure for its whole life, not
only in InvokeTclMethod.
* generic/tclIO.c (Tcl_GetsObj): [Bug 2921116]: Regenerate
topChan, may have been changed by a self-modifying transformation.
* tests/ioTrans/test (iortrans-4.8, iortrans-4.9, iortrans-5.11,
iortrans-7.4, iortrans-8.3): New test cases.
|
| |
|
|
|
|
|
|
|
|
| |
* use do { ... } while (0) in macros
* avoid shadowing one local variable with another
* use clearer 'foo.bar++;' instead of '++foo.bar;' where result not
required (i.e., semantically equivalent)
* follow Engineering Manual rules on spacing and declarations
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* win/tclWinReg.c PDWORD_PTR
* win/tclWinThrd.c: Fix various minor gcc warnings.
* win/tclWinTime.c
* win/tclWinConsole.c Put channel type definitions
* win/tclWinChan.c in static const memory
* win/tclWinPipe.c
* win/tclWinSerial.c
* win/tclWinSock.c
* generic/tclIOGT.c
* generic/tclIORChan.c
* generic/tclIORTrans.c
* unix/tclUnixChan.c
* unix/tclUnixPipe.c
* unix/tclUnixSock.c
* unix/configure (regenerated with autoconf 2.59)
* tests/info.test: Make test independant from
tcltest implementation.
|
| |
|
|
|
|
|
|
|
|
| |
0-result from method 'limit?' of transformations. Return the
number of copied bytes instead, which is possibly nothing. The
latter then triggers EOF handling in the higher layers, making the
0-result of limit? the way to inject artificial EOF's into the
data stream.
|
|
|
|
|
|
|
| |
* generic/tclIORTrans.c (ReflectClose): Closing a channel may
supply NULL for the 'interp'. Test for finalization needs to be
different, and one place has to pull the interp out of the channel
instead.
|
|
|
|
| |
etc.)
|
| |
|
|
|
|
| |
debug output in C++ comment.
|
|
|
|
|
| |
const tables. No functional
or API change.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Pat Thoyts <patthoyts@users.sourceforge.net>. Reset the EOF flag
after draining the Tcl level into the result buffer, to make sure
that the result buffer will be drained as well by repeated calls
to ReflectInput should it contain more than one buffer-full of
data. Without that reset the higher I/O system will not call on
ReflectInput anymore due to the assumed EOF, thus losing the data
which did not fit in the buffer of the call which caused the eof
and drain.
|
|
* generic/tclIOCmd.c: Integration of transform commands into 'chan' ensemble.
* generic/tclInt.h: Definitions of the transform commands.
* generic/tclIORTrans.c: Implementation of the reflection transforms.
* tests/chan.test: Tests updated for new sub-commands of 'chan'.
* tests/ioCmd.test: Tests updated for new sub-commands of 'chan'.
* tests/ioTrans.test: Whole new set of tests for the reflection transform.
* unix/Makefile.in: Integration of new files into build rules.
* win/Makefile.in: Integration of new files into build rules.
* win/makefile.vc: Integration of new files into build rules.
NOTE: The file 'tclIORTrans.c' has a lot of code in common with
the file 'tclIORChan.c', as that made it much easier to
develop the reference implementation as a separate
module. Now that the transforms have been committed the one
thing left to do is to go over both modules and see which of
the common parts we can factor out and share.
|