summaryrefslogtreecommitdiffstats
path: root/generic/tclNotify.c
Commit message (Collapse)AuthorAgeFilesLines
* Correct spelling errors in comments and documentation, but also a ↵pooryorick2023-04-121-6/+6
|\ | | | | | | non-comment corrections in history.tcl and tcltest.test.
| * Correct spelling errors in comments and documentation, but also a non-comment pooryorick2023-04-121-6/+6
| | | | | | corrections in history.tcl and tcltest.test.
* | Merge 8.7jan.nijtmans2022-10-211-10/+10
|\ \ | |/
* | Merge 8.7jan.nijtmans2022-07-051-21/+17
|\ \ | |/
| * Simplify TIP #609 implementation, make TCL_QUEUE_ALERT_IF_EMPTY work for all ↵jan.nijtmans2022-07-051-21/+17
| | | | | | | | positions and improve documentation
* | Merge 8.7jan.nijtmans2022-07-031-15/+25
|\ \ | |/
| * Merge 8.7jan.nijtmans2022-04-261-1/+1
| |\
| * | Make TCL_QUEUE_ALERT_IF_EMPTY a separate flagjan.nijtmans2021-08-151-18/+15
| | |
| * | Proposed TIP #609 implementationjan.nijtmans2021-08-151-11/+24
| | |
* | | Merge 8.7jan.nijtmans2022-03-051-1/+1
|\ \ \ | | |/ | |/|
| * | Add "const" to Tcl_SetNotifier() argument. Should have been part of TIP #27, ↵jan.nijtmans2022-03-051-1/+1
| |/ | | | | | | looooooong ago. This simplifier tclXtNotify.c a lot.
* | Clean up the notifier code to not spread the hooks quite so widelydkf2021-04-031-5/+293
|\ \ | |/
| * Forgot a place to #ifndef outdkf2021-04-011-6/+8
| |
| * Don't define Tcl_CreateFileHandler or Tcl_DeleteFileHandler on Windows.dkf2021-03-311-66/+76
| |
| * Refactoring, ahoydkf2021-03-301-5/+281
| |
* | Merge 8.7jan.nijtmans2020-12-081-3/+3
|\ \ | |/
| * Add -finput-charset=UTF-8 and -fextended-identifiers to gcc (and clang). All ↵jan.nijtmans2020-12-081-3/+3
| | | | | | | | C sources can now use UTF-8, as far as gcc/clang/msvc support it. Not used yet
* | Merge 8.7jan.nijtmans2020-02-281-1/+1
|\ \ | |/
| * Merge 8.7, and continue implementation. Almost donejan.nijtmans2019-07-101-1/+1
| |
* | Change ckalloc and friends to Tcl_Alloc and friends. Add two defines, ↵jan.nijtmans2018-09-011-9/+9
|/ | | | TCL_IO_FAILURE and TCL_NO_LENGTH (experimental, still open to be renamed following discussion)
* Fix [e832d2b08]: unnecessary code in Tcl_SetMaxBlockTime.jan.nijtmans2013-11-161-5/+1
|\
| * Fix [e832d2b08]: unnecessary code in Tcl_SetMaxBlockTime.jan.nijtmans2013-11-161-5/+1
| |
* | Adjust ckalloc/ckfree macros to greatly reduce number of explicit casts indkf2011-03-121-6/+6
| | | | | | 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-0/+1
| | | | | | the Engineering Manual.
* | 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.
| | * Fix for [Bug 2820349]Joe Mistachkin2009-07-231-1/+3
| | |
| | * * compat/string.h: fixed memchr() protoype for __APPLE__ so that wedas2005-04-261-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | build on Mac OS X 10.1 again. * generic/tclNotify.c (TclFinalizeNotifier): fixed notifier not being finalized in unthreaded core (was testing for notifier initialization in current thread by checking thread id != 0 but thread id is always 0 in untreaded core). * unix/tclUnixNotfy.c (Tcl_WaitForEvent): sync with HEAD: only declare and use timeout var in unthreaded core. * unix/Makefile.in: added @PLAT_SRCS@ to SRCS and split out NOTIFY_SRCS from UNIX_SRCS for parity with UNIX_OBJS & NOTIFY_OBJS. * unix/configure.in: only run check for broken strstr implementation if AC_REPLACE_FUNCS(strstr) hasn't already determined that strstr is unavailable, otherwise compat/strstr.o will be used twice (resulting in duplicate symbol link errors on Mac OS X 10.1) * unix/tcl.m4 (Darwin): added configure checks for recently added linker flags -single_module and -search_paths_first to allow building with older tools (and on Mac OS X 10.1), use -single_module in SHLIB_LD and not just T{CL,K}_SHLIB_LD_EXTRAS, added unexporting from Tk of symbols from libtclstub to avoid duplicate symbol warnings, added PLAT_SRCS definition for Mac OS X. (SC_MISSING_POSIX_HEADERS): added caching of dirent.h check. (SC_TCL_64BIT_FLAGS): fixed 'checking for off64_t' message output. * unix/configure: autoconf-2.13
| | * Added new fix for the Tcl Bug #770053. Now we conditionaly performvasiljevic2004-07-151-2/+14
| | | | | | | | | | | | | | | the TclFinalizeNotifier in order to correct broken ref-counting of the notifier thread.
| * | Fix for [Bug 2820349]Joe Mistachkin2009-07-231-1/+3
| | |
* | | More tidying up (whitespace, spelling, useless parentheses, useless casts)dkf2010-02-241-6/+5
| | |
* | | Fix for [Bug 2820349]Joe Mistachkin2009-07-231-1/+3
| | |
* | | Style improvements - invoking callbacks without visual junk.dkf2008-10-261-7/+7
| | |
* | | CONSTified 4 functions in the Notifier which all have a Tcl_Time* in it which isnijtmans2008-07-241-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | TIP 285 ImplementationJoe Mistachkin2008-06-131-2/+2
| | |
* | | * generic/tclInt.h: revise Tcl_SetNotifier() to use adas2008-04-161-25/+16
|/ / | | | | | | | | | | | | | | * generic/tclNotify.c: module-scope hooks table instead of * generic/tclStubInit.c: runtime stubs-table modification; * macosx/tclMacOSXNotify.c: ensure all hookable notifier functions * win/tclWinNotify.c: check for hooks; remove hook checks in * unix/tclUnixNotfy.c: notifier API callers. [Patch 1938497]
* | Minor change: Improved code styledkf2006-09-251-14/+21
| |
* | yet another stab at 1564777Kevin B Kenny2006-09-251-2/+2
| |
* | yet another stab at 1564777Kevin B Kenny2006-09-251-9/+29
| |
* | fix line endingsdgp2006-09-251-1127/+1127
| |
* | Fix [Bug 1564677]dkf2006-09-251-1123/+1127
| |
* | ANSIfydkf2005-11-021-48/+47
| |
* | Systematizing the formattingdkf2005-07-211-255/+256
| |
* | Merged kennykb-numerics-branch back to the head; TIPs 132 and 232Kevin B Kenny2005-05-101-1/+1
| |
* | * compat/string.h: fixed memchr() protoype for __APPLE__ so that wedas2005-04-261-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | build on Mac OS X 10.1 again. * generic/tclNotify.c (TclFinalizeNotifier): fixed notifier not being finalized in unthreaded core (was testing for notifier initialization in current thread by checking thread id != 0 but thread id is always 0 in untreaded core). * win/tclWinNotify.c (Tcl_WaitForEvent): * unix/tclUnixNotfy.c (Tcl_WaitForEvent): don't call ScaleTimeProc for zero wait times (as specified in TIP 233). * unix/Makefile.in: added @PLAT_SRCS@ to SRCS and split out NOTIFY_SRCS from UNIX_SRCS for parity with UNIX_OBJS & NOTIFY_OBJS. * unix/tcl.m4 (Darwin): added configure checks for recently added linker flags -single_module and -search_paths_first to allow building with older tools (and on Mac OS X 10.1), use -single_module in SHLIB_LD and not just T{CL,K}_SHLIB_LD_EXTRAS, added unexporting from Tk of symbols from libtclstub to avoid duplicate symbol warnings, added PLAT_SRCS definition for Mac OS X, defined MODULE_SCOPE to __private_extern__. (SC_MISSING_POSIX_HEADERS): added caching of dirent.h check. * unix/configure: autoconf-2.59
* | Patch 976520 reworks several of the details involved withdgp2004-11-301-9/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | startup/initialization of the Tcl library, focused on the activities of Tcl_FindExecutable(). * generic/tclIO.c: Removed bogus claim in comment that encoding "iso8859-1" is "built-in" to Tcl. * generic/tclInt.h: Created a new struct ProcessGlobalValue, * generic/tclUtil.c: routines Tcl(Get|Set)ProcessGlobalValue, and function type TclInitProcessGlobalValueProc. Together, these take care of the housekeeping for "values" (things that can be held in a Tcl_Obj) that are global across a whole process. That is, they are shared among multiple threads, and epoch and mutex protection must govern the validity of cached copies maintained in each thread. * generic/tclNotify.c: Modified TclInitNotifier() to tolerate being called multiple times in the same thread. * generic/tclEvent.c: Dropped the unused argv0 argument to TclInitSubsystems(). Removed machinery to unsure only one TclInitNotifier() call per thread, now that that is safe. Converted Tcl(Get|Set)LibraryPath to use a ProcessGlobalValue, and moved them to tclEncoding.c. * generic/tclBasic.c: Updated caller. * generic/tclInt.h: TclpFindExecutable now returns void. * unix/tclUnixFile.c: * win/tclWinFile.c: * win/tclWinPipe.c: * generic/tclEncoding.c: Built new encoding search initialization on a foundation of ProcessGlobalValues, exposing new routines Tcl(Get|Set)EncodingSearchPath. A cache of a map from encoding name to directory pathname keeps track of where encodings are available for loading. Tcl_FindExecutable greatly simplified into just three function calls. The "library path" is now misnamed, as its only remaining purpose is as a foundation for the default encoding search path. * generic/tclInterp.c: Inlined the initScript that is evaluated by Tcl_Init(). Added verification after initScript evaluation that Tcl can find its installed *.enc files, and that it has initialized [encoding system] in agreement with what the environment expects. [tclInit] no longer driven by the value of $::tcl_libPath; it largely constructs its own search path now, rather than attempt to share one with the encoding system. * unix/tclUnixInit.c: TclpSetInitialEncodings factored so that a new * win/tclWinInit.c: routine TclpGetEncodingNameFromEnvironment can reveal that Tcl thinks the [encoding system] should be, even when an incomplete encoding search path, or a missing *.enc file won't allow that initialization to succeed. TclpInitLibraryPath reworked as an initializer of a ProcessGlobalValue. * unix/tclUnixTest.c: Update implementations of [testfindexecutable], [testgetdefenc], and [testsetdefenc]. * tests/unixInit.test: Corrected tests to operate properly even when a value of TCL_LIBRARY is required to find encodings. * generic/tclInt.decls: New internal stubs: TclGetEncodingSearchPath, TclSetEncodingSearchPath, TclpGetEncodingNameFromEnvironment. These are candidates for public exposure by future TIPs. * generic/tclIntDecls.h: make genstubs * generic/tclStubInit.c: * generic/tclTest.c: Updated [testencoding] to use * tests/encoding.test: Tcl(Get|Set)EncodingSearchPath. Updated tests.
* | Added new fix for the Tcl Bug #770053. Now we conditionaly performvasiljevic2004-07-151-2/+14
| | | | | | | | | | the TclFinalizeNotifier in order to correct broken ref-counting of the notifier thread.
* | 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):
* | Removed support for Mac OS Classic platform [Patch 918142]das2004-03-171-2/+2
| |