summaryrefslogtreecommitdiffstats
path: root/generic/tclIORChan.c
Commit message (Collapse)AuthorAgeFilesLines
* Protect CopyState buffer from conflicting uses when CopyData() is calleddgp2015-09-231-8/+0
| | | recursively. Also, have ReflectWatch() always give driver a chance to act.
* Backport the cheaper Preserve/Release on channels.dgp2014-08-011-2/+2
|\
| * Reduce the cost of Preserve/Release on channelsdgp2014-07-301-2/+2
| |
| * [12b0997ce7] Plug memleak in iocmd.tf-32.0 .bug_12b0997ce7dgp2014-07-221-23/+40
| |
| * [b47b176adf] Stop possible segfaults when variability in mutex lockaku2014-06-201-0/+16
| |\ | |/ |/| | | | | schedules cause a ForwardingResult to remain on the forwardList after it has been processed (IORChan is the origin of the code in IORTrans).
| * Test iocmd-32.1 is not "impossible" but after writing it properly it does ↵dgp2014-05-091-1/+11
| |\ | | | | | | | | | segfault trying to use a deleted interp. Fixed.
| * | silence compiler warningdgp2014-05-081-2/+2
| | |
| * | Merge 8.5.dgp2014-05-081-10/+21
| |\ \
| * | | Make sure the ReflectedChannel struct is freed in the handler thread,dgp2014-04-241-2/+2
| | | | | | | | | | | | | | | | where it was allocated. This constraint allows the struct to safely hold Tcl_Obj values, which has been convenient for storing callback commands.
| * | | Merge reflected channel improvements.dgp2014-04-171-95/+50
| |\ \ \
| * | | | Remove unused variable, don't use deprecated function, some formatting.jan.nijtmans2014-04-161-1/+1
| | | | |
| * | | | Purge the (now unused) argc and argv fields.dgp2014-04-151-124/+4
| |\ \ \ \
| * \ \ \ \ [88aef05cda] Stop reentrancy segfault in reflected channels by managingdgp2014-04-151-2/+20
| |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | callbacks as (copies of) lists, not shared Tcl_Obj arrays. Still could use cleanup and improvements.
| * \ \ \ \ \ Merge minimal fix for iocmd-23.11.dgp2014-03-281-0/+2
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | | | | | Minor changes to improve style (C89 declarations, consistent indentation,dkf2012-08-071-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | clarification of #endifs, reduction of unnecessary casts, use of array syntax for reading array elements, etc.)
| * | | | | | | Final part of result generation conversion (modulo any minor blunders)dkf2012-08-051-58/+71
| | | | | | | |
| * | | | | | | converting to using Tcl_Obj API for error message generation; part donedkf2012-08-031-1/+2
| | | | | | | |
| * | | | | | | Factor out a number of common patterns of use of Tcl_DStringAppend.dkf2012-07-031-6/+5
| | | | | | | |
| * | | | | | | 3528601 Fix broken --disable-threads build.dgp2012-05-221-0/+4
| | | | | | | |
| * | | | | | | Undone part of change [32d93a8414], keeping [chan postevent] synchronous for ↵andreask2012-05-091-16/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | owner == handler.
| * | | | | | | * generic/tclIORChan.c [Bug 3522560]: Fixed the crash, enabled theandreask2012-05-091-15/+159
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | | | | | Re-using the "interp" field to signal a dead channel (via NULL value) dgp2011-09-201-6/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | interfered with conditional cleanup tasks testing for "the right interp" Added a new field "dead" to perform the dead channel signalling task so the corrupted logic is avoided.
| * | | | | | | Conversion from [testthread] to Thread package stops most memory leaks.dgp2011-09-191-0/+1
| | | | | | | |
| * | | | | | | Plug leak of a ReflectedChannel in test iocmd.tf-32.0dgp2011-09-191-22/+36
| | | | | | | |
| * | | | | | | Plug a number of MarshallError memleaks.dgp2011-09-191-3/+9
| | | | | | | |
| * | | | | | | 3396948 Leak of ReflectedChannelMap.dgp2011-08-231-4/+3
| | | | | | | |
| * | | | | | | Use Tcl_PrintfObj to generate more (complex) error messages.dkf2011-08-051-25/+18
| | | | | | | |
| * | | | | | | Adjust ckalloc/ckfree macros to greatly reduce number of explicit casts indkf2011-03-121-15/+13
| | | | | | | | | | | | | | | | | | | | | | | | rest of Tcl source code. No ABI change. API change *should* be harmless.
| * | | | | | | MINOR: Formatting fixes, mainly to comments, so code better fits the style indkf2011-03-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | the Engineering Manual.
| * | | | | | | More gcc warnings: variable set but not usedpseudotrunk_2011_03_08jan.nijtmans2011-03-081-2/+0
| | | | | | | |
| * | | | | | | 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).
| * | | | | | | | * generic/tclIORChan.c: [Bug 3034840]: Fixed reference countingandreas_kupries2010-08-041-27/+71
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * generic/tclIORTrans.c: in InvokeTclMethod and callers. * tests/ioTrans.test:
| * | | | | | | | Use "tclIO.h" and "tclTomMathDecls.h" everywherenijtmans2010-05-031-2/+2
| | | | | | | | |
| * | | | | | | | If tclInt.h or tclPort.h is alreadynijtmans2010-04-271-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | included, don't include <limits.h> again. Follow-up to [Bug 2991415]: tclport.h #included before limits.h See comments in [Bug 2991415]
| * | | | | | | | * generic/tclIORChan.c (ReflectClose, ReflectInput, ReflectOutput,andreas_kupries2010-03-301-59/+98
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ReflectSeekWide, ReflectWatch, ReflectBlock, ReflectSetOption, ReflectGetOption, ForwardProc): [Bug 2978773]: Preserve ReflectedChannel* structures across handler invokations, to avoid crashes when the handler implementation induces nested callbacks and destruction of the channel deep inside such a nesting.
| * | | | | | | | * generic/tclIORChan.c: [Bug 2936225]: Thanks to Alexandre Ferrieuxandreas_kupries2010-03-091-6/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * doc/refchan.n: <ferrieux@users.sourceforge.net> for debugging and fixing * tests/ioCmd.test: the problem. It is the write-side equivalent to the bug fixed 2009-08-06.
| * | | | | | | | More tidying up (whitespace, spelling, useless parentheses, useless casts)dkf2010-02-241-29/+30
| | | | | | | | |
| * | | | | | | | * win/tclWinDde.c: VC++ 6.0 doesn't havenijtmans2010-01-101-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
| * | | | | | | | Cast required when setting result using a const string. String is copied by ↵patthoyts2009-11-211-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | TCL_VOLATILE.
| * | | | | | | | Fix [Bug 2849797]: channel name inconsistencies as suggested by DKFnijtmans2009-11-181-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | minor *** POTENTIAL INCOMPATIBILITY *** because Tcl_CreateChannel() and its derivatives, now sometimes ignore their "chanName" argument.
| * | | | | | | | * generic/tclIORChan.c (ErrnoReturn): Replace the hardwiredandreas_kupries2009-10-071-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | constant 11 with the proper errno define, EAGAIN. What was I thinking ? The BSD's have a different errno assignment and break with the hardwired number. Reported by emiliano on the chat.
| * | | | | | | | * doc/refchan.n [Bug 2827000]: Extended the implementation ofandreas_kupries2009-08-061-4/+71
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * generic/tclIORChan.c: reflective channels (TIP 219, method * tests/ioCmd.test: 'read'), enabling handlers to signal EAGAIN to indicate 'no data, but not at EOF either', and other system errors. Updated documentation, extended testsuite (New test cases iocmd*-23.{9,10}).
| * | | | | | | | - eliminate some unnessary type castsnijtmans2009-02-101-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - some internal const decorations - spacing
| * | | | | | | | minor formatting improvementsdkf2009-01-261-4/+5
| | | | | | | | |
| * | | | | | | | * generic/tclIORChan.c (ReflectClose): Fix for [Bug 2458202].andreas_kupries2009-01-221-7/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
| * | | | | | | | Style fixes (unfouling whitespace, sorting comments, removing useless casts, ↵dkf2009-01-091-31/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | etc.)
| * | | | | | | | Add "const" to many internalnijtmans2008-10-161-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | const tables. No functional or API change.
| * | | | | | | | * generic/tclIORChan.c (InvokeTclMethod): Fixed the memory leakandreas_kupries2008-07-031-1/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | reported in [Bug 1987821]. Thanks to Miguel for the rpeort and Don Porter for tracking the cause down.
| * | | | | | | | Get rid of pre-C89-isms (esp. CONST vs const).dkf2008-04-271-94/+103
| | | | | | | | |
| * | | | | | | | fix warningdas2008-04-251-2/+1
| | | | | | | | |