summaryrefslogtreecommitdiffstats
path: root/generic/tclEvent.c
Commit message (Collapse)AuthorAgeFilesLines
* * generic/tclBasic.c (Tcl_CreateInterp,Tcl_DeleteInterp,dgp2004-10-051-11/+15
| | | | | | | | | | | | | | | | | | | | TclEvalObjvInternal,Tcl_LogCommandInfo): * generic/tclCmdAH.c (Tcl_CatchObjCmd): * generic/tclEvent.c (BgError,Tcl_BackgroundError,HandleBgErrors): * generic/tclInt.h (Interp, ERROR_CODE_SET): * generic/tclNamesp.c (Tcl_CreateNamespace,Tcl_DeleteNamespace,TclTeardownNamespace): * generic/tclResult.c (Tcl_ResetResult,Tcl_SetObjErrorCode,TclTransferResult): * generic/tclTrace.c (CallVarTraces): Reworked management of the "errorCode" data of an interp. That information is now primarily stored in a new private (Tcl_Obj *) field of the Interp struct, rather than using a global variable ::errorCode as the primary storage. The ERROR_CODE_SET flag bit value is no longer required to manage the value in its new location, and is removed. Variable traces are established to support compatibility for any code expecting the ::errorCode variable to hold the information.
* * generic/tclBasic.c: Removed internal routines TclInvoke,dgp2004-09-271-7/+15
| | | | | | | | | | | | | | | * generic/tclInt.decls: TclGlobalInvoke, TclObjInvokeGlobal and * tests/basic.test: the portion of TclObjInvoke that handles calls without TCL_INVOKE_HIDDEN enabled. None of this code is called any longer within the core, and the superior public interface, Tcl_EvalObjv, is available for any external callers. * generic/tclIntDecls.h: make genstubs * generic/tclStubInit.c: * generic/tclEvent.c (HandleBgErrors): Updated [bgerror] invocations to make use of Tcl_Obj based routines, dropping the calls to TclGlobalInvoke()
* * generic/tclEvent.c (Tcl_Finalize): Re-organized Tcl_Finalizedgp2004-07-301-24/+24
| | | | | so that Tcl_ExitProc's that call Tcl_Finalize recursively do not cause deadlock. [Patch 999084 fixes Tk Bug 714956]
* * generic/tclEvent.c: Correct threaded obj allocator tohobbs2004-07-211-2/+4
| | | | | | | * generic/tclInt.h: fully cleanup on exit and allow for * generic/tclThreadAlloc.c: reinitialization. [Bug #736426] * unix/tclUnixThrd.c: (mistachkin, kenny) * win/tclWinThrd.c:
* Stuffed memory leak incurred by re-initializing of TSD slotsvasiljevic2004-07-151-6/+19
| | | | | | | | | | | | after the last call to TclFinalizeThreadData (done from within Tcl_FinalizeThread()). We basically just repeat the TclFinalizeThreadData() once more before tearing down TSD keys in TclFinalizeSynchronization(). There should be more elaborate mechanism in place for handling such issues, based on thread cleanup handlers registered on the OS level. Such change requires much more work and would also require TIP because some visible parts of Tcl API would have to be modified. In the meantime, this will do.
* Removed initialization of TSD for the new thread in NewThreadProc sincevasiljevic2004-07-151-10/+1
| | | | this will result in TclInitNotifier never being called.
* Removed unused variable in NewThreadProc()vasiljevic2004-07-151-2/+3
|
* Backout of changes to fix the Tcl Bug #770053.vasiljevic2004-07-151-5/+9
| | | | See SF bugreport for more info.
* * generic/tclEvent.c (NewThreadProc): Fixed broken build onKevin B Kenny2004-06-221-1/+4
| | | | | | Windows caused by missing TCL_THREAD_CREATE_RETURN. * tests/stack.test (stack-3.1): Corrected nuisance error in threaded builds.
* Integrated fix for Tcl Bug #770053 from core-8-4-branchvasiljevic2004-06-221-1/+90
|
* TIP#143 implementation; still needs docs and more tests...dkf2004-05-131-1/+7
|
* Remove accidental check-in of TIP#143 code. D'oh!dkf2004-05-041-7/+1
|
* Suppress a signed-ness warning.dkf2004-05-041-4/+9
|
* * generic/tclInt.h:davygrvy2004-04-231-2/+2
| | | | | | | | | * generic/tclThread.c: * generic/tclEvent.c: * unix/tclUnixThrd.c: * win/tclWinThrd.c: Provisions made so masterLock, initLock, allocLock and joinLock mutexes can be recovered during Tcl_Finalize.
* TclSetLibraryPath's use of caching the stringrep of the pathPtr object todavygrvy2004-04-231-3/+15
| | | | | TclGetLibraryPath called from another thread was ineffective if the original's stringrep had been invalidated as what happens when it gets muted to a list.
* Patch 922727 committed. Implements three changes:dgp2004-04-061-2/+1
| | | | | | | | | | | | | | | | | | | | | | | * generic/tclInt.h: Reworked the Tcl header files into a clean * unix/tclUnixPort.h: hierarchy where tcl.h < tclPort.h < tclInt.h * win/tclWinInt.h: and every C source file should #include * win/tclWinPort.h: at most one of those files to satisfy its declaration needs. tclWinInt.h and tclWinPort.h also better organized so that tclWinPort.h includes the Windows implementation of cross-platform declarations, while tclWinInt.h makes declarations that are available on Windows only. * generic/tclBinary.c (TCL_NO_MATH): Deleted the generic/tclMath.h * generic/tclMath.h (removed): header file. The internal Tcl * macosx/Makefile (PRIVATE_HEADERS): header, tclInt.h, has a * win/tcl.dsp: #include <math.h> directly, and file external to Tcl needing libm should do the same. * win/Makefile.in (WIN_OBJS): Deleted the win/tclWinMtherr.c file. * win/makefile.bc (TCLOBJS): It's a vestige from matherr() days * win/makefile.vc (TCLOBJS): gone by. * win/tcl.dsp: * win/tclWinMtherr.c (removed):
* All uses of 'panic' (the macro) changeddavygrvy2003-12-241-4/+4
| | | | | | | to 'Tcl_Panic' (the function). The #define of panic in tcl.h clearly states it is deprecated in the comments. [Patch 865264]
* TIP#121 (app exit proc API) implementation from Joe Mistachkindkf2003-09-291-3/+67
|
* Removed unused variable to reduce compiler warnings. [Bug 664745]dkf2003-05-131-3/+7
|
* Fix for Bug #571002vasiljevic2003-02-221-2/+8
|
* finalization and test fixesvincentdarley2003-02-041-15/+21
|
* * generic/tclEvent.c (Tcl_Finalize): revert finalize change onhobbs2003-01-251-11/+19
| | | | | | 2002-12-04 to correct the issue with extensions that have TSD needing to finalize that before they are unloaded. This issue needs further clarification.
* filesystem cleanup fix, virtual filesystem load fixvincentdarley2002-12-041-8/+17
|
* * generic/tclEvent.c (TclInExit, TclInThreadExit):mdejong2002-11-071-6/+24
| | | | | | | | | | | | | | | Split out functionality of TclInExit to make it clear which one should be called in each situation. * generic/tclInt.decls: Declare TclInThreadExit. * generic/tclIntDecls.h: Regen. * generic/tclStubInit.c: Regen. * mac/tclMacChan.c (StdIOClose): * unix/tclUnixChan.c (FileCloseProc): * win/tclWinChan.c (FileCloseProc): * win/tclWinConsole.c (ConsoleCloseProc): * win/tclWinPipe.c (TclpCloseFile): * win/tclWinSerial.c (SerialCloseProc): Invoke the new TclInThreadExit method instead of TclInExit.
* * doc/CmdCmplt.3: Applied Patch 585105 to fully CONST-ifydgp2002-08-051-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * doc/Concat.3: all remaining public interfaces of Tcl. * doc/CrtCommand.3: Notably, the parser no longer writes on * doc/CrtSlave.3: the string it is parsing, so it is no * doc/CrtTrace.3: longer necessary for Tcl_Eval() to be * doc/Eval.3: given a writable string. Also, the * doc/ExprLong.3: refactoring of the Tcl_*Var* routines * doc/LinkVar.3: by Miguel Sofer is included, so that the * doc/ParseCmd.3: "part1" argument for them no longer needs * doc/SetVar.3: to be writable either. * doc/TraceVar.3: * doc/UpVar.3: Compatibility support has been enhanced so * generic/tcl.decls that a #define of USE_NON_CONST will remove * generic/tcl.h all possible source incompatibilities with * generic/tclBasic.c the 8.3 version of the header file(s). * generic/tclCmdMZ.c The new #define of USE_COMPAT_CONST now does * generic/tclCompCmds.c what USE_NON_CONST used to do -- disable * generic/tclCompExpr.c only those new CONST's that introduce * generic/tclCompile.c irreconcilable incompatibilities. * generic/tclCompile.h * generic/tclDecls.h Several bugs are also fixed by this patch. * generic/tclEnv.c [Bugs 584051,580433] [Patches 585105,582429] * generic/tclEvent.c * generic/tclInt.decls * generic/tclInt.h * generic/tclIntDecls.h * generic/tclInterp.c * generic/tclLink.c * generic/tclObj.c * generic/tclParse.c * generic/tclParseExpr.c * generic/tclProc.c * generic/tclTest.c * generic/tclUtf.c * generic/tclUtil.c * generic/tclVar.c * mac/tclMacTest.c * tests/expr-old.test * tests/parseExpr.test * unix/tclUnixTest.c * unix/tclXtTest.c * win/tclWinTest.c
* memory cleanupvincentdarley2002-05-141-10/+3
|
* memory cleanupvincentdarley2002-05-131-1/+7
|
* * Updated interfaces of generic/tclVar.c accordingdgp2002-03-201-3/+3
| | | | to TIP 27. In particular, the "part2" arguments were CONSTified.
* * Updated interfaces of generic/tclEncoding, generic/tclFilename.c,dgp2002-01-251-2/+2
| | | | | | | | | | | generic/tclIOUtil.c, generic/tclPipe.c, generic/tclResult.c, generic/tclUtil.c, generic/tclVar.c and mac/tclMacResource.c according to TIP 27. Tcl_TranslateFileName rewritten as wrapper around VFS-aware version. Updated callers. ***POTENTIAL INCOMPATIBILITY*** Includes source incompatibilities: argv arguments of Tcl_Concat, Tcl_JoinPath, Tcl_OpenCommandChannel, Tcl_Merge; argvPtr arguments of Tcl_SplitList and Tcl_SplitPath.
* * More TIP 27 updates in tclIOUtil.c and tclIndexObj.c that weredgp2002-01-171-2/+2
| | | | | | | overlooked before. Updated callers. ***POTENTIAL INCOMPATIBILITY*** Includes a source incompatibility in the tablePtr arguments of the Tcl_GetIndexFromObj* routines.
* * generic/tclEvent.c (TclInExit):dgp2002-01-071-2/+3
| | | | | | | * generic/tclIOUtil.c (SetFsPathFromAbsoluteNormalized, SetFsPathFromAny,Tcl_FSNewNativePath,DupFsPathInternalRep): * generic/tclListObj.c (TclLsetList,TclLsetFlat): Added some type casts to satisfy picky compilers.
* fix background error reporting in the absence of a bgerror proc [Bug 219142].Miguel Sofer2001-12-101-2/+2
|
* * generic/tclEvent.c (Tcl_FinalizeThread): moved freeing ofhobbs2001-10-031-11/+12
| | | | | tclLibraryPath to before the thread exit handlers are called. Slight modification to change on 2001-09-24.
* * The change below fixes [Bug #464380]. The bug was reported byandreas_kupries2001-09-241-10/+11
| | | | | | | | | | Ronnie Brunner <rbrunner@users.sourceforge.net>. He also provided the patch. * generic/tclEvent.c (Tcl_Finalize): Moved release of 'tclLibraryPath' to Tcl_FinalizeThread. (Tcl_FinalizeThread): See above, new place for release of 'tclLibraryPath'.
* * generic/tclEvent.c (TclInExit): Corrected handling of tsd inhobbs2001-09-111-3/+7
| | | | late stages of finalization. [Bug #419449] (darley)
* * generic/tclAsync.c:davygrvy2001-08-301-1/+2
| | | | | | | | | | | | | * generic/tclEvent.c: * generic/tclInt.h: Improper cleanup of asyncMutex in tclAsync.c repaired. TclFinalizeSynchronization() was trying to remove a registered mutex that was dumped earlier when the TSD it was stored in was cleared. This was only surfacing on *nix. Windows was being masked by mutexes not actually being returned to the system! That was repaired in a previous patch. Needed to add a private TclFinalizeAsync() to tclAsync.c and called from Tcl_FinalizeThread(). Pheww.. Is this done yet? [Bug: 414419] requested by Rob Ratcliff <rrr6399@futuretek.com>
* * generic/tclCkalloc.c (TclFinalizeMemorySubsystem): set curTagPtrhobbs2001-03-311-2/+3
| | | | | | | | to NULL to allow for reuse. * generic/tclEvent.c (Tcl_Finalize): moved the tsdPtr initialization inside the subsystemsInitialized check to prevent it potentially getting called twice during finalization. (wu) [Patch #403532, Bug #219391]
* Added some more comments and a missing Tcl_IncrRefCount indavidg2000-11-021-1/+13
| | | | | TclGetLibraryPath() when the tclLibraryPath Tcl_Obj needs to be created.
* 2000-11-02 David Gravereaux <davygrvy@ajubasolutions.com>davidg2000-11-021-1/+11
| | | | | | | * generic/tclEvent.c: tclLibraryPath Tcl_Obj didn't have a way to share its data among threads. This caused Tcl_Init() to always fail in threads. Added a way to pass the data around with a global char*. [BUG: 5301]
* * generic/tclEvent.c (TclInitSubsystems): Moved tclLibraryPath tohobbs2000-04-181-22/+30
| | | | | thread-local storage to prevent thread-related race condition. [Bug: 5033]
* * generic/tcl.decls :redman1999-12-021-82/+1
| | | | | | | | | | | | | | * generic/tclMain.c : * unix/tclAppInit.c: * win/tclAppInit.c: Added two new internal functions, TclSetStartupScriptFileName() and TclGetStartupScriptFileName() and added hooks into the main() code for supporting TclPro and other "big" shells more easily without requiring a copy of the main() code. * generic/tclEncoding.c: * generic/tclEvent.c: Moved encoding-related startup code from tclEvent.c into the more appropriate tclEncoding.c.
* * generic/tclProc.c: corrected error reporting for default casehobbs1999-11-191-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | at the global level for uplevel command. * generic/tclIOSock.c: changed int to size_t type for len in TclSockMinimumBuffers. * generic/tclCkalloc.c: fixed Tcl_DbCkfree to return a value on NULL input. [Bug: 3400] * generic/tclStringObj.c: fixed support for passing in negative length to Tcl_SetUnicodeObj, et al handling routines. [Bug: 3380] * doc/scan.n: * tests/scan.test: * generic/tclScan.c: finished support for inline scan by supporting XPG identifiers. * doc/http.n: * library/http2.1/http.tcl: added register and unregister commands to http:: package (better support for tls/SSL), as well as -type argument to http::geturl. [RFE: 2617] * generic/tclBasic.c: removed extra decr of numLevels in Tcl_EvalObjEx that could cause seg fault. (mjansen@wendt.de) * generic/tclEvent.c: fixed possible lack of MutexUnlock in Tcl_DeleteExitHandler [Bug: 3545]
* * generic/tclEvent.c: lintstanton1999-04-231-2/+2
|
* merged tcl 8.1 branch back into the main trunkstanton1999-04-161-112/+543
|
* Replaced SCCS strings, fixed binary filescore_8_0_3stanton1998-09-141-1/+1
|
* added call to TclpFinalizestanton1998-04-291-0/+1
|
* Initial revisionrjohnson1998-03-261-0/+697