| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
Change TclpThreadCreate and Tcl_CreateThread
signature, making clear that "proc" is a function
pointer, as in all other "proc" function parameters.
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
| |
Use <pthread.h> in stead of "pthread.h"
Eliminate some more gcc warnings
|
|
|
|
|
|
| |
* generic/tclInt.h: and related ifdefs and autoconf tests.
* unix/tclUnixPort.h: [Bug 2017264] (jenglish)
* unix/tcl.m4:
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
| |
checking functionality in freebsd [Bug 1850424]
|
|
|
|
| |
freebsd [Bug 1860425].
|
| |
|
|
|
|
|
|
|
|
|
| |
* generic/tclInt.h:
* unix/tclUnixInit.c:
* unix/tclUnixThrd.c: Fix stack checking via workaround for bug in
glibc's pthread_attr_get_np, patch from [Bug 1815573]. Many thanks
to Sergei Golovan (aka Teo) for detecting the bug and helping
diagnose and develop the fix.
|
| |
|
|
|
|
| |
pthread_join exit return code storage. [Bug 1712723]
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* generic/tclEncoding.c: pointer from/to integer of different
* generic/tclEvent.c: size' on 64-bit platforms by casting to
* generic/tclExecute.c: intermediate types intptr_t/uintptr_t
* generic/tclHash.c: via new PTR2INT(), INT2PTR(),
* generic/tclIO.c: PTR2UINT() and UINT2PTR() macros.
* generic/tclInt.h: [Patch 1592791]
* generic/tclProc.c:
* generic/tclTest.c:
* generic/tclThreadStorage.c:
* generic/tclTimer.c:
* generic/tclUtil.c:
* unix/configure.in:
* unix/tclUnixChan.c:
* unix/tclUnixPipe.c:
* unix/tclUnixPort.h:
* unix/tclUnixTest.c:
* unix/tclUnixThrd.c:
* unix/configure: autoconf-2.59
* unix/tclConfig.h.in: autoheader-2.59
|
|
|
|
|
|
| |
thread, where pthread_get_stacksize_np() returns incorrect info.
* macosx/GNUmakefile: don't redo prebinding of non-prebound binaires.
|
|
|
|
|
|
| |
* unix/tcl.m4: pthread_get_stacksize_np() API to get thread stack size.
* unix/configure: autoconf-2.59
* unix/tclConfig.h.in: autoheader-2.59
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
argument. This is a signal for it to clean up the tsd key associated
with the threading allocator.
|
| |
|
|
|
|
| |
Don't check for HAVE_READDIR_R. Regenerated configure script.
|
|
|
|
|
|
|
|
|
| |
* unix/tcl.m4 (SC_ENABLE_THREADS): Check for a 2
argument version of readdir_r that is known to
exists under IRIX 5.3.
* unix/tclUnixThrd.c (TclpReaddir): Use either
2 arg or 3 arg version of readdir_r.
[Bug 1001325]
|
|
|
|
| |
systems (Cray). Thanks to Rob Ratcliff for reporting the bug.
|
|
|
|
|
|
|
| |
* generic/tclInt.h: fully cleanup on exit and allow for
* generic/tclThreadAlloc.c: reinitialization. [Bug #736426]
* unix/tclUnixThrd.c: (mistachkin, kenny)
* win/tclWinThrd.c:
|
|
|
|
|
| |
Mistachkin's patch for [Tcl SF Bug 99453], closing leakage of
mutexes. They were not destroyed properly upon finalization.
|
| |
|
| |
|
|
|
|
| |
Also added support for [FRQ 951168] but left that switched off by default.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* generic/tclInt.decls: Promoted TclpLocaltime and TclpGmtime
* generic/tclIntDecls.h: from Unix-specific stubs to the generic
* generic/tclIntPlatDecls.h: internal Stubs table. Reran 'genstubs'
* generic/tclStubInit.c:
* unix/tclUnixPort.h:
* generic/tclClock.c: Changed a buggy 'GMT' timezone specification
to the correct 'GMT0'. [Bug #922848]
* unix/tclUnixThrd.c: Moved TclpGmtime and TclpLocaltime to
unix/tclUnixTime.c where they belong.
* unix/tclUnixTime.c (TclpGmtime, TclpLocaltime, TclpGetTimeZone,
ThreadSafeGMTime [removed],
ThreadSafeLocalTime [removed],
SetTZIfNecessary, CleanupMemory):
Restructured to make sure that the same mutex protects
all calls to localtime, gmtime, and tzset. Added a check
in front of those calls to make sure that the TZ env var
hasn't changed since the last call to tzset, and repeat
tzset if necessary. [Bug #942078] Removed a buggy test
of the Daylight Saving Time information in 'gettimeofday'
in favor of applying 'localtime' to a known value.
[Bug #922848]
* tests/clock.test (clock-3.14): Added test to make sure that
changes to $env(TZ) take effect immediately.
* win/tclWinTime.c (TclpLocaltime, TclpGmtime):
Added porting layer for 'localtime' and 'gmtime' calls.
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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):
|
|
|
|
|
|
|
| |
to 'Tcl_Panic' (the function). The #define
of panic in tcl.h clearly states it is
deprecated in the comments.
[Patch 865264]
|
| |
|
| |
|
|
|
|
|
|
| |
* unix/tclUnixPort.h: update to Bug 689100 patch to ensure that
there is a defined value of MAXNAMLEN (aka NAME_MAX in POSIX) and
that we have some buffer allocated.
|
|
|
|
| |
tsd to NAME_MAX instead of PATH_MAX. [Bug #689100] (waters)
|
|
|
|
|
|
|
|
|
|
|
| |
* unix/tclUnixThrd.c: Added stubs and implementations for
non-threaded build for the tclUnixThrd.c procs TclpReaddir,
TclpLocaltime, TclpGmtime and TclpInetNtoa.
Fixes link errors in stubbed & threaded extensions that include
tclUnixPort.h and use any of the procs readdir, localtime,
gmtime or inet_ntoa (e.g. TclX 8.4) [Bug 589526]
* generic/tclIntPlatDecls.h:
* generic/tclStubInit.c: Regen.
|
|
|
|
| |
names were really badly chosen. Also prevented a double-#def.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
added mutex wrapped calls to readdir, localtime & gmtime in
case their thread-safe *_r counterparts are not available.
* unix/tcl.m4: added configure check for readdir_r
* unix/tcl.m4 (Darwin): set TCL_DEFAULT_ENCODING to utf-8 on
MacOSX (where posix file apis expect utf-8, not iso8859-1).
* unix/configure: regen
* unix/Makefile.in: set DYLD_LIBRARY_PATH in parallel
to LD_LIBRARY_PATH for MacOSX dynamic linker.
* generic/tclEnv.c (TclSetEnv): fix env var setting on
MacOSX (adapted from patch #524352 by jkbonfield).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* generic/tclInt.h:
* generic/tclThreadAlloc.c (new):
* unix/Makefile.in:
* unix/tclUnixThrd.c:
* win/Makefile.in:
* win/tclWinInt.h:
* win/tclWinThrd.c: added new threaded allocator contributed by
AOL that significantly reduces lock contention when multiple
threads are in use. Only Windows and Unix implementations are
ready, and the Windows one may need work. It is only used by
default on Unix for now, and requires that USE_THREAD_ALLOC be
defined (--enable-threads on Unix will define this).
|
|
|
|
|
| |
This version builds clean on Solaris/SPARC, with GCC and CC, both with and
without threads and both in 32-bit and 64-bit mode.
|
|
|
|
|
| |
* unix/tclUnixThrd.c: added thread-safe versions of readdir,
localtime, gmtime and inet_ntoa for threaded build. (jgdavidson)
|
|
|
|
| |
This deprecates TclpGetTime in favor of new Tcl_GetTime.
|
|
|
|
|
| |
timeout for threads (corrects excessive CPU usage issue for Tk on
Unix in threaded Tcl environment). (ruppert) [Bug #411603]
|