Tcl Source Code

All files named "generic/tclNotify.c"
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

History for generic/tclNotify.c

2024-12-07
23:52
Fix [c7e4c4586d]: TIP #609 - required Tcl_ThreadAlert() skipped with nested event loop file: [96b9a08541] check-in: [dd7f05281c] user: jan.nijtmans branch: main, size: 39610
13:15
Fix 9e69e2c602: Problem with TIP#609 file: [1e0b30ae40] check-in: [81c759724b] user: jan.nijtmans branch: core-8-branch, size: 39592
2024-12-06
10:39
Proposed fix for 9e69e2c602: Problem with TIP#609 file: [c6c943f550] check-in: [90712c8996] user: jan.nijtmans branch: bug-9e69e2c602, size: 39611
2024-08-28
16:33
Merge [3a60363aa10ef993]: Clean up a lot of whitespace issues. file: [579d7a1df9] check-in: [627781a6db] user: pooryorick branch: unchained, size: 39410
2024-08-25
12:44
Merge [436bb452e1fbf9c5]: Fix [e646d28f1a]: 8.6 Documentation/comment typo fixes. file: [54216e55a5] check-in: [c50dc559d6] user: pooryorick branch: unchained, size: 39406
2024-07-20
15:59
Merge trunk [91c2f411e7e71552], TIP #636 (tip-636-tcl9-644), resolve all conflicts including those resulting from conflicting Tcl_Obj interface implementations, and relicense under GNU Affero General Public License. All tests pass. file: [f49df68db8] check-in: [d8a3450f12] user: pooryorick branch: unchained, size: 39406
2024-05-13
15:41
Clean up a lot of small whitespace issues

This is the dullest commit ever. Sorry. file: [221177d5a7] check-in: [3a60363aa1] user: dkf branch: main, size: 39040

2024-04-23
16:06
Hmm, something is broken. Leaving this here but this commit is definitely wrong somehow file: [ba8b395316] check-in: [b356268e32] user: dkf branch: tidy-indentation, size: 39045
2024-04-11
12:35
Use Tcl_NewBooleanObj for booleans; we should say what we mean. Fix sentinels and type-casts. file: [510b263ed3] check-in: [e75d7ff329] user: jan.nijtmans branch: core-8-6-branch, size: 31122
2024-02-16
14:55
Merge 8.7 file: [808bbe1058] check-in: [436bb452e1] user: jan.nijtmans branch: main, size: 39036
14:48
Merge 8.6 file: [73c28e6d75] check-in: [a39831380a] user: jan.nijtmans branch: core-8-branch, size: 39067
12:41
Fix [e646d28f1a]: 8.6 Documentation/comment typo fixes file: [43a3b0909f] check-in: [376f147892] user: jan.nijtmans branch: core-8-6-branch, size: 31107
2024-01-30
17:07
Tweaking indentation of code; really unimportant... file: [34f62b059c] check-in: [bb72806960] user: dkf branch: dkf-indent-tweak, size: 39042
2023-04-12
14:25
Correct spelling errors in comments and documentation, but also a non-comment corrections in history.tcl and tcltest.test. file: [0493f0361d] check-in: [d65da06a77] user: pooryorick branch: main, size: 39036
13:30
Correct spelling errors in comments and documentation, but also a non-comment corrections in history.tcl and tcltest.test. file: [2caf14d9b6] check-in: [aca8de0aeb] user: pooryorick branch: core-8-branch, size: 39067
09:35
Correct spelling errors in comments and documentation, but also non-comment corrections in history.tcl and tcltest.test. file: [97fcffc09c] check-in: [ee3df4e647] user: pooryorick branch: core-8-6-branch, size: 31107
2022-10-21
08:53
Merge 8.7 file: [74d4355cf1] check-in: [cd9d1f32be] user: jan.nijtmans branch: main, size: 39039
2022-07-05
10:22
Merge 8.7 file: [335e013681] check-in: [cede17caf3] user: jan.nijtmans branch: main, size: 39088
10:20
Simplify TIP #609 implementation, make TCL_QUEUE_ALERT_IF_EMPTY work for all positions and improve documentation file: [899c4f8735] check-in: [97317e68d6] user: jan.nijtmans branch: core-8-branch, size: 39070
2022-07-03
22:32
Merge 8.7 file: [77e45ca349] check-in: [ae8ffae821] user: jan.nijtmans branch: main, size: 39128
2022-04-26
07:29
Merge 8.7 file: [307426cab3] check-in: [0c21f5f99f] user: jan.nijtmans branch: tip-609, size: 39110
2022-03-05
11:20
Merge 8.7 file: [75a6700676] check-in: [562ea876a7] user: jan.nijtmans branch: main, size: 38729
10:32
Add "const" to Tcl_SetNotifier() argument. Should have been part of TIP #27, looooooong ago. This simplifier tclXtNotify.c a lot. file: [fe62ee703b] check-in: [a993dee980] user: jan.nijtmans branch: core-8-branch, size: 38711
2021-09-21
08:36
Experiment: Make Tcl_Time a long long in stead of a struct file: [c740dfde8c] check-in: [7d007b4694] user: jan.nijtmans branch: tcl-time-64bit, size: 38579
2021-08-15
21:34
Make TCL_QUEUE_ALERT_IF_EMPTY a separate flag file: [b2b4716dbf] check-in: [c7572c6dc4] user: jan.nijtmans branch: tip-609, size: 39104
20:35
Proposed TIP #609 implementation file: [f93258bad1] check-in: [fd12b53710] user: jan.nijtmans branch: tip-609, size: 39303
2021-04-03
13:53
Clean up the notifier code to not spread the hooks quite so widely file: [3ae6ee2fd5] check-in: [a263b27340] user: dkf branch: main, size: 38723
2021-04-01
08:18
Forgot a place to #ifndef out file: [1a642603f7] check-in: [d32e30ca56] user: dkf branch: dkf/notifier-cleanup, size: 38705
2021-03-31
10:45
Don't define Tcl_CreateFileHandler or Tcl_DeleteFileHandler on Windows. file: [2d3c3566a4] check-in: [114715b9b8] user: dkf branch: dkf/notifier-cleanup, size: 38669
2021-03-30
08:22
Refactoring, ahoy file: [136c5e1fba] check-in: [7365fa0cf2] user: dkf branch: dkf/notifier-cleanup, size: 38427
2020-12-08
15:42
Merge 8.7 file: [c2841b7a08] check-in: [71493b571b] user: jan.nijtmans branch: main, size: 31134
15:31
Add -finput-charset=UTF-8 and -fextended-identifiers to gcc (and clang). All C sources can now use UTF-8, as far as gcc/clang/msvc support it. Not used yet file: [8562a0f167] check-in: [4254aa305b] user: jan.nijtmans branch: core-8-branch, size: 31116
2020-02-28
12:46
Merge 8.7 file: [92e6634938] check-in: [b7af922d61] user: jan.nijtmans branch: trunk, size: 31143
2019-07-10
05:51
Merge 8.7, and continue implementation. Almost done file: [a3e73425b6] check-in: [237cdadf3f] user: jan.nijtmans branch: cplusplus, size: 31125
2018-09-01
22:01
Change ckalloc and friends to Tcl_Alloc and friends. Add two defines, TCL_IO_FAILURE and TCL_NO_LENGTH (experimental, still open to be renamed following discussion) file: [f07be65c5d] check-in: [f13660b5a5] user: jan.nijtmans branch: memory-API, size: 31128
2018-05-31
21:24
merge zipfs file: [51fdf721e0] check-in: [fc74365c13] user: jan.nijtmans branch: androwish, size: 31326
2017-07-13
16:04
merge sebres-event-perf-fix-busy-wait file: [72e0bf3b5e] check-in: [de29c24e4b] user: sebres branch: sebres-8-6-event-perf-branch, size: 45071
15:43
avoid busy wait if new short block-time will be set within service event-cycle (Tcl_DoOneEvent) produced in event-cycle without processing file: [1fb0d986d0] check-in: [834c53d3c6] user: sebres branch: sebres-event-perf-fix-busy-wait, size: 45777
2017-07-10
11:12
merge sebres-8-5-event-perf-branch file: [e82185957f] check-in: [2219c00d2a] user: sebres branch: sebres-8-6-event-perf-branch, size: 44694
10:58
avoid blocking wait if we've some retarded events (from last event-cycle) and max blocking time was not set outside an event source traversal. file: [26ca4be7fb] check-in: [7487cc4a08] user: sebres branch: sebres-8-5-event-perf-branch, size: 45400
10:56
reintegrate sebres-8-6-event-perf-branch back to 8.5 file: [0004ca2026] check-in: [d97f93c3f3] user: sebres branch: sebres-8-5-event-perf-branch, size: 45086
08:55
Stability fix: queue epoch to guarantee avoid broken queue, service level to avoid reset block time by nested event-cycles (if Tcl_SetTimer does not create it), etc. Fixed retarded events (using new retarded list, the involve of the retarded events occurs only after checking of all event sources now). Two opportunities to retard event: - lazy, using the same event-object: in the handler set event->proc to new (or the same) handler (fast, possible only if not entering new event-cycle in handler); - create the event with new position "TCL_QUEUE_RETARDED"; New inline functions TclpQueueEventClientData / TclpQueueEventEx to fast creating resp. queuing event with extra data. file: [191a638db1] check-in: [68698a3ac4] user: sebres branch: sebres-8-6-event-perf-branch, size: 44380
08:53
merge resp. reintegrate sebres-8-5-event-perf-branch to 8.6 file: [88e8248477] check-in: [fed961497a] user: sebres branch: sebres-8-6-event-perf-branch, size: 40093
2017-07-03
13:32
code review and small optimizations file: [751d106f11] check-in: [3fc8da2b5f] user: sebres branch: sebres-8-5-event-perf-branch, size: 40771
13:32
fix check event source threshold (corresponds 100-ns ranges, if the wide-clicks supported); because of variable width of 1 wide-click: windows - frequency dependent, unix - nanoseconds, darwin/osx - tb.numer / tb.denom nanoseconds. file: [407d66d8af] check-in: [68ebe50d7b] user: sebres branch: sebres-8-5-event-perf-branch, size: 40786
13:32
Introduced monotonic time as ultimate fix for time-jump issue (fixed for windows and unix now, TIP #302 fully implemented now); Usage of monotonic time instead of adjustment via timeJump/timeJumpEpoch is more precise and effective. New sub-command "clock monotonic" to provide monotonic time facility for tcl-level. file: [4901abd84f] check-in: [b9371d7b63] user: sebres branch: sebres-8-5-event-perf-branch, size: 40296
13:31
fixed timer-marker handling: timer should be always executed after queued event (of the same generation), it was marked (be sure it marked to immediate execution in corresponding checkProc only). tclIO: scheduled event rewritten using Tcl_Event instead of timer event (IO is not timer, e. g. executed also by usage of `vwait -notimer ...`, etc). file: [7557cf95cb] check-in: [470ed5221b] user: sebres branch: sebres-8-5-event-perf-branch, size: 39881
13:31
interim commit: trying to pass test-cases - timer-3.*, chan-io-29.34, socket-2.12 (busy prompt timer, unexpected too early timer event, wrong timer-marker usage) file: [4e5ddef73a] check-in: [d49f6f0a55] user: sebres branch: sebres-8-5-event-perf-branch, size: 39104
13:31
Merge branch 'fix-busy-prompt-timers' into event-perf-branch: * Amend to timer-marker: dualize special state of timer-marker (to differentiate between timer generations), so: INT2PTR(-1) - exec immediate (marker reached); INT2PTR(-2) - check in the next-cycle (marker reached only if no other events available); Avoids permanent busy execution of prompt-events (always busy in timer), if they regenerate itself continuously for waiting for other events (like writable/readable), see e. g. socket-2.12. file: [ea1294af1b] check-in: [5300d21648] user: sebres branch: sebres-8-5-event-perf-branch, size: 37767
13:25
resolved some warnings / fixed unix resp. x64 compilation file: [5325914a90] check-in: [1401c69c39] user: sebres branch: sebres-8-5-event-perf-branch, size: 36612
13:25
dynamic increase of timer resolution corresponding wait-time; non-blocking wait for event - if block-time set outside an event source traversal, use it as timeout, so can return with result 0 (no events); file: [1549daf1d5] check-in: [3aa1cefdf7] user: sebres branch: sebres-8-5-event-perf-branch, size: 36619
13:24
[enhancement] extend "vwait" with same options as "update", new syntax "vwait ?options? ?timeout? varname". some small improvements and fixing: - Tcl_DoOneEvent can wait for block time that was set with Tcl_SetMaxBlockTime outside an event source traversal, and stop waiting if Tcl_SetMaxBlockTime was called outside an event source (another event occurs and interrupt waiting loop), etc; - safer more precise pre-lookup by options (use TclObjIsIndexOfTable instead of simply comparison of type with tclIndexType); test cases extended to cover conditional "vwait" usage; file: [46a3a8dd6a] check-in: [fef447f0a4] user: sebres branch: sebres-8-5-event-perf-branch, size: 36389
13:24
[performance] do one event (update / event servicing) cycle optimized (introduced threshold to prevent sourcing resp. waiting for new events by no-wait). [enhancement] new event type introduced: TCL_ASYNC_EVENTS, command "update" becomes options to process only specified types, resp. to bypass some event types (including -idle/-noidle that in opposite to "idletasks" does not included window events); test cases extended. file: [af7fb6ab7e] check-in: [44b62f8964] user: sebres branch: sebres-8-5-event-perf-branch, size: 36086
13:24
[performance] much better handling for timer events within Tcl_ServiceEvent using timer marker in the queue and direct call of TclServiceTimerEvents if marker reached (instead of continuous adding handler event, polling it in the queue and removing hereafter); this provides double performance increase in the service cycle; file: [9d65099360] check-in: [beb4b9527b] user: sebres branch: sebres-8-5-event-perf-branch, size: 33290
13:23
[performance] large performance increase by event servicing cycles (3x - 5x faster now); [win] prevent listen using PeekMessage twice, and no wait anymore for too short timeouts (because windows can wait too long), compare 0µs with up-to 100µs overhead within MsgWaitForMultipleObjectsEx; [bad behavior] process idle events only as long as no other events available (now TclPeekEventQueued will be used to check new events are available in service idle cycle); [enhancement] new option "noidletasks" for command "update", so "update noidle" means "process all events but not idle"; file: [0815304b47] check-in: [0dd0a029f5] user: sebres branch: sebres-8-5-event-perf-branch, size: 33974
2013-11-16
21:06
Fix [e832d2b08]: unnecessary code in Tcl_SetMaxBlockTime. file: [8804164706] check-in: [04b08d7303] user: jan.nijtmans branch: trunk, size: 31110
21:05
Fix [e832d2b08]: unnecessary code in Tcl_SetMaxBlockTime. file: [bada4bc2f8] check-in: [4c14f88702] user: jan.nijtmans branch: core-8-5-branch, size: 31783
2012-11-15
17:55
More complete purge of things only present for supporting long-dead Mac 9 systems. file: [7ca4758348] check-in: [7506775d52] user: dgp branch: core-8-4-branch, size: 31558
2011-03-12
15:06
Adjust ckalloc/ckfree macros to greatly reduce number of explicit casts in rest of Tcl source code. No ABI change. API change *should* be harmless. file: [5210ed0451] check-in: [5574bdd262] user: dkf branch: trunk, size: 31181
2011-03-10
09:31
MINOR: Formatting fixes, mainly to comments, so code better fits the style in the Engineering Manual. file: [3fd36a9a29] check-in: [5cb634a1c1] user: dkf branch: trunk, size: 31242
2011-03-02
20:27
Now that we're no longer using SCM based on RCS, the RCS Keyword lines cause more harm than good. Purged them (except in zlib files). file: [177efe165f] check-in: [c64f310d38] user: dgp branch: trunk, size: 31241
16:06
Now that we're no longer using SCM based on RCS, the RCS Keyword lines cause more harm than good. Purged them. file: [02c58ba92e] check-in: [79367df0f0] user: dgp branch: core-8-5-branch, size: 31854
2011-03-01
15:38
Now that we're no longer using SCM based on RCS, the RCS Keyword lines cause more harm than good. Purged them. file: [bf9e9d95ce] check-in: [90b4acd7bd] user: dgp branch: core-8-4-branch, size: 31579
2010-11-22
16:46
Jumping forward the files we can. file: [c7a605451e] check-in: [6e8bb472bd] user: andreask branch: activestate-nre-excised-variant-1-roll-forward, size: 31318
16:07
Next @380. OO Stacktraces broken. file: [3f2e0d8836] check-in: [1713113dd4] user: andreask branch: activestate-nre-excised-variant-1-roll-forward, size: 31285
2010-11-18
17:15
Next, @134 file: [63550f1c11] check-in: [7fc03e57d1] user: andreask branch: activestate-nre-excised-variant-1-roll-forward, size: 31299
2010-02-25
21:53
merge updates from HEAD file: [0ae8215b19] check-in: [1b11388844] user: dgp branch: dgp-refactor, size: 31316
2010-02-24
10:45
More tidying up (whitespace, spelling, useless parentheses, useless casts) file: [7dedac02ab] check-in: [511d94dd87] user: dkf branch: trunk, size: 31311
2009-07-23
12:18
merge updates from HEAD file: [a27259f870] check-in: [392af756f8] user: dgp branch: dgp-refactor, size: 31321
10:19
Fix for [Bug 2820349] file: [effc2d75c2] check-in: [a061d31ed4] user: mistachkin branch: core-8-4-branch, size: 31660
10:17
Fix for [Bug 2820349] file: [79fe29ec5f] check-in: [4b7c178d54] user: mistachkin branch: core-8-5-branch, size: 31935
10:07
Fix for [Bug 2820349] file: [e95bd9a6ad] check-in: [00e1c4070f] user: mistachkin branch: trunk, size: 31323
2008-11-10
02:18
merge updates from HEAD file: [21ef149e5a] check-in: [4a9c1325dc] user: dgp branch: dgp-refactor, size: 31283
2008-10-26
18:34
Style improvements - invoking callbacks without visual junk. file: [9d47c938b6] check-in: [a1a8afc25d] user: dkf branch: trunk, size: 31278
2008-07-29
20:13
merge updates from (near) HEAD file: [7517ee94c9] check-in: [f51e3a3c72] user: dgp branch: dgp-refactor, size: 31297
2008-07-24
21:54
CONSTified 4 functions in the Notifier which all have a Tcl_Time* in it which is 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 file: [ce7ef98889] check-in: [7ade6e690e] user: nijtmans branch: trunk, size: 31297
2008-06-16
03:17
merge updates from HEAD file: [799f858f6f] check-in: [1f1de75ebf] user: dgp branch: dgp-refactor, size: 31291
2008-06-13
05:45
TIP 285 Implementation file: [5d90052e8e] check-in: [505c316922] user: mistachkin branch: trunk, size: 31293
2008-04-18
13:02
merge updates from HEAD file: [8cbc64b815] check-in: [db78c97753] user: dgp branch: dgp-refactor, size: 31291
2008-04-16
14:29
* generic/tclInt.h: revise Tcl_SetNotifier() to use a * 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]
file: [556af7c27e] check-in: [79cb766dcc] user: das branch: trunk, size: 31287
2006-10-23
21:01
merge updates from HEAD file: [ab77341269] check-in: [1f911d4cbb] user: dgp branch: dgp-refactor, size: 31890
2006-09-25
15:02
Minor change: Improved code style file: [859a694b34] check-in: [bf0b0d3463] user: dkf branch: trunk, size: 31886
14:59
yet another stab at 1564777 file: [41956b3da2] check-in: [c093f50364] user: kennykb branch: trunk, size: 31777
14:58
yet another stab at 1564777 file: [9ad28eec8b] check-in: [d781364709] user: kennykb branch: trunk, size: 31778
13:35
fix line endings file: [720fc11c37] check-in: [58f7ee791d] user: dgp branch: trunk, size: 31376
00:09
Fix [Bug 1564677] file: [d3ad403ed2] check-in: [a44b4eb923] user: dkf branch: trunk, size: 32503
2005-11-03
17:52
merge updates from HEAD file: [fcad248280] check-in: [d827b9cf1e] user: dgp branch: dgp-refactor, size: 31289
2005-11-02
00:55
ANSIfy file: [bec1bcffe7] check-in: [c8e360304c] user: dkf branch: trunk, size: 31285
2005-08-02
18:14
merge updates from HEAD file: [ee580de22c] check-in: [10feab7c07] user: dgp branch: kennykb-numerics-branch, size: 31612
2005-07-26
04:11
Merge updates from HEAD file: [af06426ec7] check-in: [8351a734a6] user: dgp branch: dgp-refactor, size: 31612
2005-07-21
14:38
Systematizing the formatting file: [16e8fccd9a] check-in: [ac613e6b94] user: dkf branch: trunk, size: 31608
2005-06-13
01:45
*** MERGE WITH HEAD *** (tag msofer-wcodes-20050611)
file: [f96b348e43] check-in: [d666b09ed5] user: msofer branch: msofer-wcodes-branch, size: 31831
2005-05-10
18:33
Merged kennykb-numerics-branch back to the head; TIPs 132 and 232 file: [a15bb522ae] check-in: [1cc2336920] user: kennykb branch: trunk, size: 31828
2005-05-05
17:55
Merged with HEAD file: [6cb4f8728f] check-in: [b77c9a87c6] user: kennykb branch: kennykb-numerics-branch, size: 31832
2005-04-29
22:39
Merge updates from HEAD file: [82f7360bbb] check-in: [ac63d218d8] user: dgp branch: dgp-refactor, size: 31828
2005-04-26
00:46
* compat/string.h: fixed memchr() protoype for __APPLE__ so that we 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
file: [498194c36b] check-in: [74b7355f70] user: das branch: core-8-4-branch, size: 31615
00:44
* compat/string.h: fixed memchr() protoype for __APPLE__ so that we 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
file: [4dc07605ab] check-in: [20a693c229] user: das branch: trunk, size: 31824
2004-12-09
23:00
Merge updates from HEAD file: [231224adf9] check-in: [24873008cc] user: dgp branch: dgp-refactor, size: 31724
2004-11-30
19:34
Patch 976520 reworks several of the details involved with 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.
file: [b086075263] check-in: [5b205fd672] user: dgp branch: trunk, size: 31720
2004-09-08
23:02
Merge updates from HEAD file: [066f276cfa] check-in: [dff8728918] user: dgp branch: dgp-refactor, size: 31461
2004-07-15
21:20
Added new fix for the Tcl Bug #770053. Now we conditionaly perform the TclFinalizeNotifier in order to correct broken ref-counting of the notifier thread. file: [3609196cca] check-in: [9ed2ecf626] user: vasiljevic branch: core-8-4-branch, size: 31520
21:17
Added new fix for the Tcl Bug #770053. Now we conditionaly perform the TclFinalizeNotifier in order to correct broken ref-counting of the notifier thread. file: [f9210c301f] check-in: [663e5a0f11] user: vasiljevic branch: trunk, size: 31464
2004-04-09
20:57
Merge updates from HEAD file: [3ca8c25731] check-in: [5b5c8133e5] user: dgp branch: dgp-refactor, size: 30791
2004-04-06
22:25
Patch 922727 committed. Implements three changes:
* 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):
file: [d05bce034b] check-in: [2e5b18c85c] user: dgp branch: trunk, size: 30787
2004-03-26
22:28
Merge updates from HEAD. file: [0a886ac5b0] check-in: [6e8d2d7ba1] user: dgp branch: dgp-refactor, size: 30812
2004-03-17
18:14
Removed support for Mac OS Classic platform [Patch 918142] file: [9e70d99977] check-in: [b6330dbac7] user: das branch: trunk, size: 30808
2004-03-08
01:51
some silly reformatting changes to remove useless whitespace. file: [99744332ba] check-in: [958f519d14] user: davygrvy branch: trunk, size: 30834
2003-02-15
20:24
Fixed Tcl_DeleteEvents not to get a pointer smash when deleting the last event in the queue. Added test code in 'tcltest' and a new file of test cases 'notify.test' to exercise this functionality; several of the new test cases fail for the original code and pass for the corrected code. file: [bc99a4b380] check-in: [035d1a2446] user: kennykb branch: trunk, size: 30846
2002-12-17
21:35
* generic/tclNotify.c (TclFinalizeNotifier, Tcl_SetServiceMode): (Tcl_ThreadAlert): Check that the stub functions are non-NULL before calling them. They could be set to NULL by Tcl_SetNotifier.
file: [7379a0947a] check-in: [7f6f5e67ac] user: hobbs branch: trunk, size: 30763
2002-08-31
06:09
*** macosx-8-4-branch merged into the mainline [tcl patch #602770] ***
* generic/tcl.decls: added new macosx specific entry to stubs table.
* tools/genStubs.tcl: added generation of platform guards for macosx. This is a little more complex than it seems, because MacOS X IS "unix" plus a little bit, for the purposes of Tcl. BUT unfortunately, Tk uses "unix" to mean X11. So added platform keys for macosx (the little added to "unix"), "aqua" and "x11" to distinguish these for Tk.
* generic/tcl.h: added a #ifnded RESOURCE_INCLUDED so that tcl.h can be passed to the resource compiler.
* generic/tcl.h: * generic/tclNotify.c: added a few Notifier procs, to be able to modify more bits of the Tcl notifier dynamically. Required to get Mac OS X Tk to live on top of the Tcl Unix threaded notifier. Changes the size of the Tcl_NotifierProcs structure, but doesn't move any elements around.
* unix/tclUnixNotfy.c: moved the call to Tcl_ConditionNotify till AFTER we are done mucking with the pointer swap. Fixes cases where the thread waiting on the condition wakes & accesses the waitingListPtr before it gets reset, causing a hang.
* library/auto.tcl (tcl_findLibrary): added checking the directories in the tcl_pkgPath for library files on macosx to enable support of the standard Mac OSX library locations
* unix/Makefile.in: * unix/configure.in: * unix/tcl.m4: added MAC_OSX_DIR. Added PLAT_OBJS to the OBJS: there are some MacOS X specific files now for Tcl, and when I get he resource & applescript stuff ported over, and restore support for FindFiles, etc, there will be a few more. Added LD_LIBRARY_PATH_VAR configure variable to avoid having to set all possible LD_LIBRARY_PATH analogues on all platforms. LD_LIBRARY_PATH_VAR is "LD_LIBRARY_PATH" by default, "LIBPATH" on AIX, "SHLIB_PATH" on HPUX and "DYLD_LIBRARY_PATH" on Mac OSX. Added configure option to package Tcl as a framework on Mac OSX.
* macosx/tclMacOSXBundle.c (new): support for finding Tcl extension packaged as 'bundles' in the standard Mac OSX library locations.
* unix/tclUnixInit.c: added support for findig the tcl script library inside Tcl packaged as a framework on Mac OSX.
* macosx/Tcl.pbproj/jingham.pbxuser (new): * macosx/Tcl.pbproj/project.pbxproj (new): project for Apple's ProjectBuilder IDE.
* macosx/Makefile (new): simple makefile for building the project from the command line via the ProjectBuilder tool 'pbxbuild'.
* unix/configure: * generic/tclStubInit.c: * generic/tclPlatDecls.h: regen
file: [0b1dc19b29] check-in: [ac07f034c7] user: das branch: trunk, size: 30630
2002-08-20
20:25
merged with trunk at tag macosx-8-4-merge-2002-08-20-trunk file: [56d2443771] check-in: [354986d9c3] user: das branch: macosx-8-4-branch, size: 30635
2002-06-10
05:33
Merging with TOT as of 06/09/2002. file: [ec987b508f] check-in: [73b68fb238] user: wolfsuit branch: macosx-8-4-branch, size: 30908
2002-04-12
06:31
* generic/tclNotify.c (TclFinalizeNotifier): remove remaining unserviced events on finalization.
file: [ae1504ec8b] check-in: [d66560f921] user: hobbs branch: trunk, size: 30312
2001-10-15
09:13
First Checkin of Mac OS X support for Tcl. file: [4bb80d3039] check-in: [eba6ee55b4] user: wolfsuit branch: macosx-8-4-branch, size: 30582
2000-04-04
20:28
2000-04-03 Andreas Kupries <[email protected]>
* Overall change: Definition of public API's for the finalization of conditions and mutexes. [Bug: 4199].
* generic/tclInt.h: Removed definitions of TclFinalizeMutex and TclFinalizeCondition.
* generic/tcl.decls: Added declarations of Tcl_MutexFinalize and Tcl_ConditionFinalize.
* generic/tclThread.c: Renamed TclFinalizeMutex to Tcl_MutexFinalize. Renamed TclFinalizeCondition to Tcl_ConditionFinalize.
* generic/tclNotify.c: Changed usage of TclFinalizeMutex to Tcl_MutexFinalize.
* unix/tclUnixNotfy.c: * generic/tclThreadTest.c: Changed usages of TclFinalizeCondition to Tcl_ConditionFinalize.
* generic/tcl.h: Added empty macros for Tcl_MutexFinalize and Tcl_ConditionFinalize, to be used when the core is compiled without threads.
* doc/Thread.3: Added description the new API's.
file: [0ae82bb12f] check-in: [861e460865] user: kupries branch: trunk, size: 29988
1999-07-02
21:50
Block out unix-only code for windows & mac. file: [581eac4744] check-in: [0eb08410e8] user: redman branch: trunk, size: 29986
06:04
Added Tcl_SetNotifier and associated typedef. This lets you hook the notifier procs. file: [52d81f8d05] check-in: [6889d4e289] user: welch branch: trunk, size: 29922
1999-04-21
00:42
Deleted: Added comments for 4/19 and 4/20 check-in: [6c6fc5d7b2] user: redman branch: scriptics-tclpro-1-2-old, size: 0
1999-04-16
00:46
merged tcl 8.1 branch back into the main trunk file: [95fb957173] check-in: [f3b32fb71c] user: stanton branch: trunk, size: 28964
1999-04-14
00:33
Fixed comments in code that referred to APIs that no longer exist, were misspelled, or have been updated. file: [e1714f4007] check-in: [2d7ffe4998] user: surles branch: core-8-1-branch-old, size: 28967
1999-03-24
04:25
* tests/winNotify.test: * mac/tclMacNotify.c: * win/tclWinNotify.c: * unix/tclUnixNotfy.c: * generic/tclNotify.c: Added a new Tcl_ServiceModeHook interface that is invoked whenever the service mode changes. This is needed to allow the Windows notifier to create a communication window the first time Tcl is about to enter an external modal event loop instead of at startup time. This will avoid the various problems that people have been seeing where the system hangs when tclsh is running outside of the event loop. [Bug: 783]

* generic/tclInt.h: * generic/tcl.decls: Renamed TclpAlertNotifier back to Tcl_AlertNotifier since it is part of the public notifier driver API. file: [bea3ec877a] check-in: [1b663177f8] user: stanton branch: core-8-1-branch-old, size: 28984

1999-03-11
19:28
Deleted: Add documentation for Tcl_GetVersion() check-in: [940e47cf48] user: redman branch: scriptics-tclpro-1-2, size: 0
01:50
* generic/tcl.h: * generic/tcl.decls: Changed Tcl_ReleaseType from an enum to macros so it can be used in .rc files. Added Tcl_GetString.

* mac/tclMacNotify.c: * generic/tclNotify.c: * generic/tclInt.h: * win/tclWinNotify.c: * generic/tcl.h: Renamed Tcl_AlertNotifier to TclpAlertNotifier.

* generic/tclInt.decls: Added TclWinAddProcess to make it possible for expect to use Tcl_WaitForPid(). This patch is from Gordon Chaffee.

* mac/tclMacPort.h: * win/tclWinInit.c: * unix/tclUnixPort.h: * generic/tclAsync.c: Added TclpAsyncMark to fix bug in async handling on Windows where async events don't wake up the event loop. This patch comes from Gordon Chaffee.

* generic/tcl.decls: Fixed declarations of reserved slots. file: [7b982a38e6] check-in: [37d1a96b18] user: stanton branch: core-8-1-branch-old, size: 28909

1998-12-12
01:36
Minor change to Lock Declarations to use TCL_DECLARE_MUTEX macro, published in tcl.h. file: [6f33c2b39d] check-in: [c778c9ef5e] user: lfb branch: core-8-1-branch-old, size: 28905
1998-12-10
21:21
* Fixed lots of files that used TCL_THREAD instead of TCL_THREADS.

* generic/tclEncoding.c (Tcl_FreeEncoding): Moved most of the code into a static FreeEncoding routine that does not grab the encodingMutex to avoid deadlocks/races when called from other routines that already have the mutex. file: [5f38171894] check-in: [09f356baa2] user: stanton branch: core-8-1-branch-old, size: 28934

1998-11-11
04:54
lots of lint wrapped mutex declarations in ifdefs to avoid compiler warnings file: [6522c1699f] check-in: [9535a849c1] user: stanton branch: core-8-1-branch-old, size: 28933
04:08
merged 8.0.4 into 8.1 file: [478206d74b] check-in: [fe115bdad2] user: stanton branch: core-8-1-branch-old, size: 28908
1998-10-14
21:12
Added fix to list processing in tclNotify that could cause events to be dropped. Added test to intetp test suite. file: [0f7137e297] check-in: [38ee7119c7] user: rjohnson branch: trunk, size: 23406
1998-09-24
23:58
merging changes from 8.0.3 into 8.1a2 file: [1a0d685311] check-in: [1c3c1ab19f] user: stanton branch: core-8-1-branch-old, size: 28786
1998-09-21
23:39
Added contents of Tcl 8.1a2 file: [4e3eba4111] check-in: [8c56dc8868] user: stanton branch: core-8-1-branch-old, size: 28761
1998-09-14
18:39
Replaced SCCS strings, fixed binary files file: [cb09f50b8d] check-in: [196f92fd17] user: stanton branch: trunk, size: 23295
1998-03-26
14:45
Added: Initial revision file: [b0b4b724db] check-in: [cacdd0f329] user: rjohnson branch: trunk, size: 23274