| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| | |
cause more harm than good. Purged them (except in zlib files).
|
| |\
| | |
| | | |
more harm than good. Purged them.
|
| | |
| | |
| | | |
more harm than good. Purged them.
|
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| | |
| | |
| | |
| | | |
to top of file and clarify name (was 'key'). [Bug 1204064]
|
| | |
| | |
| | |
| | |
| | |
| | | |
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/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/tclInt.h: fully cleanup on exit and allow for
* generic/tclThreadAlloc.c: reinitialization. [Bug #736426]
* unix/tclUnixThrd.c: (mistachkin, kenny)
* win/tclWinThrd.c:
|
| | |
| | |
| | |
| | | |
users never creating interpreters.
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* 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.
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
called from the stack frame of DllMain's PROCESS_DETACH, the
wait operation should timeout and continue.
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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).
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* 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.
|
| | |
| | |
| | |
| | | |
e.g. by using full 64-bits for socket fd's
|
| | |
| | |
| | |
| | |
| | |
| | | |
Change TclpThreadCreate and Tcl_CreateThread
signature, making clear that "proc" is a function
pointer, as in all other "proc" function parameters.
|
| | |
| | |
| | |
| | |
| | | |
and various other minor CYGWIN
compilation problems
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* 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.
|
| | |
| | |
| | |
| | | |
etc.)
|
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
| | |
| | |
| | |
| | | |
thread key creation is successful.
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* 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.
|
|/ / |
|
| |
| |
| |
| |
| |
| | |
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.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
when being called with NULL argument. This is a signal for it to clean up
the tsd key associated with the threading allocator.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* 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/tclInt.h: fully cleanup on exit and allow for
* generic/tclThreadAlloc.c: reinitialization. [Bug #736426]
* unix/tclUnixThrd.c: (mistachkin, kenny)
* win/tclWinThrd.c:
|
| |
| |
| |
| | |
sake of Tcl API users never creating Tcl interpreters.
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* 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.
|
| |
| |
| |
| |
| | |
to see if there are waiters else uninitialized datum is manipulated.
[Bug 849007]
|
| |
| |
| |
| |
| |
| |
| | |
to 'Tcl_Panic' (the function). The #define
of panic in tcl.h clearly states it is
deprecated in the comments.
[Patch 865264]
|
| | |
|
|/
|
|
|
|
|
|
|
|
| |
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).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
| |
* generic/tclThread.c (TclFinalizeThreadData): TclpMasterUnlock
must exist and be called unconditional of TCL_THREADS. [Bug #651139]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|