summaryrefslogtreecommitdiffstats
path: root/win/tclWinThrd.c
Commit message (Collapse)AuthorAgeFilesLines
* 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).
| * Now that we're no longer using SCM based on RCS, the RCS Keyword lines causedgp2011-03-021-2/+0
| |\ | | | | | | more harm than good. Purged them.
| | * Now that we're no longer using SCM based on RCS, the RCS Keyword lines causedgp2011-03-011-2/+0
| | | | | | | | | more harm than good. Purged them.
| | * Thread exit handler marks the current thread as un-initialized.vasiljevic2007-03-241-12/+7
| | | | | | | | | | | | | | | | | | This allows exit handlers that are registered later to re-initialize this subsystem in case they need to use some sync primitives (cond variables) from this file again.
| | * * win/tclWinThrd.c (TclpFinalizeThreadData): move tlsKey defnhobbs2005-05-301-20/+26
| | | | | | | | | | | | to top of file and clarify name (was 'key'). [Bug 1204064]
| | * Renamed TclWinFreeAllocCache to TclpFreeAllocCache and fixedvasiljevic2005-04-071-20/+21
| | | | | | | | | | | | | | | | | | to recognize when being called with NULL argument. This is a signal for it to clean up the tsd key associated with the threading allocator. Part of fixing the Tcl Bug #1178445.
| | * * generic/tclAlloc.c: Fixed [Tcl SF Bug 1030548], aandreas_kupries2004-10-281-3/+4
| | | | | | | | | | | | | | | | | | | | | * generic/tclThreadAlloc.c: threaded debug build on Windows * win/tclWinThrd.c: now works again. Had to touch Unix * unix/tclUnixThrd.c: as well. Basic patch by Kevin, with modifications by myself.
| | * * generic/tclEvent.c: Correct threaded obj allocator tohobbs2004-07-211-7/+28
| | | | | | | | | | | | | | | | | | | | | * generic/tclInt.h: fully cleanup on exit and allow for * generic/tclThreadAlloc.c: reinitialization. [Bug #736426] * unix/tclUnixThrd.c: (mistachkin, kenny) * win/tclWinThrd.c:
| | * Redefined MASTER_LOCK to call TclpMasterLock for the sake of Tcl APIvasiljevic2004-07-191-4/+6
| | | | | | | | | | | | users never creating interpreters.
| | * Corrected Tcl Bug #770053vasiljevic2004-06-221-3/+3
| | |
| | * * generic/tclInt.h:davygrvy2004-05-061-5/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
| | * revert back to 1.24.2.2 from prior mistaken commit.davygrvy2004-04-231-34/+5
| | |
| | * * win/tclWinTime.c: If the Tcl_ExitProc (StopCalibration) isdavygrvy2004-04-231-5/+34
| | | | | | | | | | | | | | | called from the stack frame of DllMain's PROCESS_DETACH, the wait operation should timeout and continue.
| | * fix for [Bug 732477]Joe Mistachkin2003-05-131-7/+7
| | |
| | * * win/tclWinThrd.c: Applied SF patch #727271. This patch changesandreas_kupries2003-04-251-9/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | the code to catch any errors returned by the windows functions handling TLS ASAP instead of waiting to get some mysterious crash later on due to bogus pointers. Patch provided by Joe Mistachkin. This is a stop-gap measure to deal with the low number of ?TLS slots provided by some of the variants of Windows (60-80).
| * | Various CYGWIN-related fixesnijtmans2010-01-311-10/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | backported from HEAD. Still configure script not modified, so CYGWIN build is still disabled. Reason: although the build succeeds with those changes, many tests still fail.
| * | * changes: Update for 8.5.6 release.dgp2008-12-211-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * library/tclIndex: Removed reference to no-longer-extant procedure 'tclLdAout'. * doc/library.n: Corrected mention of 'auto_exec' to 'auto_execok'. [Patch 2114900] thanks to Stu Cassoff <stwo@users.sf.net> Backport of 2008-11-26 commit from Kevin Kenny. * win/tclWinThrd.c (TclpThreadCreate): We need to initialize the thread id variable to 0 as on 64 bit windows this is a pointer sized field while windows only fills it with a 32 bit value. The result is an inability to join the threads as the ids cannot be matched. Backport of 2008-10-13 commit from Pat Thoyts.
* | | Fix various gcc-4.5.2 64-bit warning messages,nijtmans2011-01-251-2/+2
| | | | | | | | | | | | e.g. by using full 64-bits for socket fd's
* | | Simplify Tcl_AppInit and *_Init definitions.nijtmans2010-06-161-2/+2
| | | | | | | | | | | | | | | | | | Change TclpThreadCreate and Tcl_CreateThread signature, making clear that "proc" is a function pointer, as in all other "proc" function parameters.
* | | Fix TCL_LL_MODIFIER for Cygwinnijtmans2010-01-131-3/+1
| | | | | | | | | | | | | | | and various other minor CYGWIN compilation problems
* | | * win/tclWinDde.c: VC++ 6.0 doesn't havenijtmans2010-01-101-5/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* | | Style fixes (unfouling whitespace, sorting comments, removing useless casts, ↵dkf2009-01-091-10/+27
| | | | | | | | | | | | etc.)
* | | We need to initialize the thread id variable to 0 as on 64 bit windowspatthoyts2008-10-131-1/+5
| | | | | | | | | | | | | | | | | | this is a pointer sized field while windows only fills it with a 32 bit value. The result is an inability to join the threads as the ids cannot be matched.
* | | CONSTified 4 functions in the Notifier which all have a Tcl_Time* in it which isnijtmans2008-07-241-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | supposed to be a constant, but this was not reflected in the API: Tcl_SetTimer Tcl_WaitForEvent Tcl_ConditionWait Tcl_SetMaxBlockTime Introduced a CONST86, so extensions which have their own Notifier (are there any?) can be modified to compile against both Tcl 8.5 and Tcl 8.6. This change complies with TIP #24
* | | * win/tclWinThrd.c: Test for TLS_OUT_OF_INDEXES to make certain thatgeorgeps2008-07-161-1/+5
| | | | | | | | | | | | thread key creation is successful.
* | | TIP 285 ImplementationJoe Mistachkin2008-06-131-2/+2
| | |
* | | * generic/tcl.h: Make Tcl_ThreadDataKey a void *.georgeps2008-05-091-1/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * generic/tclInt.h: Change around some function names and add some new per-platform declarations for thread-specific data functions. * generic/tclThread.c: Make use of of the new function names that no longer have a Tclp prefix. * generic/tclThreadStorage.c: Replace the core thread-specific data (TSD) mechanism with an array offset solution that eliminates the hash tables, and only uses one slot of native TSD. Many thanks to Kevin B. Kenny for his help with this. * unix/tclUnixThrd.c: Add platform-specific TSD functions for use by tclThreadStorage.c. * win/tclWinThrd.c: Add platform-specific TSD functions for use by tclThreadStorage.c.
* | | Get rid of pre-C89-isms (esp. CONST vs const).dkf2008-04-271-2/+2
|/ /
* | Thread exit handler marks the current thread as un-initialized.vasiljevic2007-03-241-12/+6
| | | | | | | | | | | | This allows exit handlers that are registered later to re-initialize this subsystem in case they need to use some sync primitives (cond variables) from this file again.
* | Various minor object file size efficiency fixes. [Bug 1530474]dkf2006-08-101-5/+5
| |
* | ANSIfydkf2005-11-041-45/+46
| |
* | radical refactoring of thread storage to untangle dependenciesKevin B Kenny2005-08-111-201/+1
| |
* | Getting more systematic about styledkf2005-07-241-232/+253
| |
* | Fixed Tcl Bug #1204064.vasiljevic2005-05-301-9/+9
| |
* | Merged kennykb-numerics-branch back to the head; TIPs 132 and 232Kevin B Kenny2005-05-101-1/+1
| |
* | Corrected a compilation error in the --enable-threads configurationKevin B Kenny2005-05-051-8/+13
| |
* | Renamed TclWinFreeAllocCache to TclpFreeAllocCache and fixed to recognizevasiljevic2005-04-161-20/+23
| | | | | | | | | | when being called with NULL argument. This is a signal for it to clean up the tsd key associated with the threading allocator.
* | * tests/registry.test: Fixed test files to load the correctdavygrvy2004-10-271-2/+3
| | | | | | | | | | | | | | | | | | * tests/winDde.test: registry and dde packages by using the info * win/Makefile.in: from makefiles to tell tcltest where to load * win/makefile.vc: them from. This avoids grabbing the wrong package from $auto_path which might be the install point rather than the dev location. Kudos to Jennifer Hom for adding -load and -loadfile to the tcltest package. [Bug 926088]
* | * generic/tclEvent.c: Correct threaded obj allocator tohobbs2004-07-211-7/+28
| | | | | | | | | | | | | | * generic/tclInt.h: fully cleanup on exit and allow for * generic/tclThreadAlloc.c: reinitialization. [Bug #736426] * unix/tclUnixThrd.c: (mistachkin, kenny) * win/tclWinThrd.c:
* | Redefined MASTER_LOCK in win/tclWinThrd.c to call TclpMasterLock for thevasiljevic2004-07-191-4/+6
| | | | | | | | sake of Tcl API users never creating Tcl interpreters.
* | Integrated fix for Tcl Bug #770053 from core-8-4-branchvasiljevic2004-06-221-3/+3
| |
* | A little source clean-up with the allocOnce variable.davygrvy2004-04-271-4/+6
| |
* | * generic/tclInt.h:davygrvy2004-04-231-5/+36
| | | | | | | | | | | | | | | | | | * 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.
* | * win/tclWinThrd.c (Tcl_ConditionNotify): condPtr must be dereferenceddavygrvy2004-01-111-2/+2
| | | | | | | | | | to see if there are waiters else uninitialized datum is manipulated. [Bug 849007]
* | All uses of 'panic' (the macro) changeddavygrvy2003-12-241-13/+13
| | | | | | | | | | | | | | to 'Tcl_Panic' (the function). The #define of panic in tcl.h clearly states it is deprecated in the comments. [Patch 865264]
* | fix for [Bug 732477]Joe Mistachkin2003-05-131-7/+7
| |
* | * win/tclWinThrd.c: Applied SF patch #727271. This patch changesandreas_kupries2003-04-251-9/+54
|/ | | | | | | | | | the code to catch any errors returned by the windows functions handling TLS ASAP instead of waiting to get some mysterious crash later on due to bogus pointers. Patch provided by Joe Mistachkin. This is a stop-gap measure to deal with the low number of ?TLS slots provided by some of the variants of Windows (60-80).
* Fix mingw build problems and compiler warnings.mdejong2003-01-141-1/+9
| | | | | | | | | | | | | | | | * generic/tcl.h: Add if defined(__MINGW32__) check to code that sets the TCL_WIDE_INT_TYPE and TCL_LL_MODIFIER. * generic/tclClock.c (FormatClock): Don't define savedTimeZone and savedTZEnv if we are not going to use them. * generic/tclEnv.c: Add cast to avoid warning. * win/tclWinChan.c: Use DWORD instead of int to avoid compiler warning. * win/tclWinThrd.c: Only define allocLock, allocLockPtr, and dataKey when TCL_THREADS is defined. This avoid a compiler warning about unused variables.
* * win/tclWinThrd.c (TclpMasterUnlock):hobbs2002-12-101-36/+23
| | | | | * generic/tclThread.c (TclFinalizeThreadData): TclpMasterUnlock must exist and be called unconditional of TCL_THREADS. [Bug #651139]
* * win/tclWinConsole.c:davygrvy2002-11-261-2/+2
| | | | | | | | | | | | | | | | * win/tclWinPipe.c: * win/tclWinSerial.c: * win/tclWinSock.c: * win/tclWinThrd.c: * win/tclWinTime.c: General cleanup of all worker threads used by the channel drivers. Eliminates the normal case where the worker thread is terminated ('cept the winsock one). Instead, use kernel events to signal a clean exit. Only when the worker thread is blocked on an I/O call is the thread terminated. Essentially, this makes all other channel worker threads behave like the PipeReaderThread() function for it's cleaner exit behavior. This appears to fix [Bug 597924] but needs 3rd party confirmation to close the issue.