Tcl Source Code

All files named ”unix/tclUnixNotfy.c”
Login

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

History for unix/tclUnixNotfy.c

2026-10-21
10:51
Fix [3328635fff]: Use CLOCK_MONOTONIC for timed condition waits on Unix where pthread_condattr_setclock() is available, so changes of the system time do not affect timeouts. Also use the monotonic clock in TclUnixWaitForFile(). See also [1577f1d373]. file: edfdb23f0f check-in: [bc65a512d2] user: serhiy.storchaka branch: unix-monotonic-condwait, size: 16797
2026-10-14
15:53
Fix [112af76b09]: use an acquire load for the unlocked check and a release store for publishing in the lazy initialization of mutexes and condition variables (Tcl_MutexLock, Tcl_ConditionWait2 on Unix and Windows) and of the notifier thread, pipe and serial subsystems, so that a thread which sees the pointer or flag also sees the initialized data. The pipe and serial init also set the flag before the initialization. file: 225b11a411 check-in: [fed33b2ff4] user: serhiy.storchaka branch: double-checked-lock-ordering, size: 16847
2026-10-12
11:53
Fix [49538c09c8]: TclUnixWaitForFile: infinite wait may return early file: a984b18f5b check-in: [8d02f97bd0] user: jan.nijtmans branch: core-9-0-branch, size: 17127
2026-09-25
17:38
Fix [49538c09c8]: TclUnixWaitForFile: infinite wait reads uninitialized "now" and may return early. With a negative timeout, "continue" in the do-while loop evaluated "abortTime > now" with an uninitialized "now", so if poll() returned without a requested event (e.g. EINTR on a signal), the function could return 0 although it should wait forever. Use while (1) with an explicit timeout check, as in the macOS version. New test event-13.9. file: 48c4c51e5d check-in: [65772037dd] user: serhiy.storchaka branch: unix-waitforfile-infinite-wait, size: 16807
2026-04-09
19:54
Add a macro to declare a variable as 'used' when the compiler can't see it. For when TCL_UNUSED isn't so suitable. file: 938940e805 check-in: [a41f6993bb] user: dkf branch: tcl-used, size: 16799
2026-04-03
11:44
Re-implement from other new-timer-api branch file: ebb12f1903 check-in: [46bb2f236f] user: jan.nijtmans branch: new-timer-api, size: 16785
2026-03-11
16:13
Rebase to trunk file: 12a6c3634c check-in: [9e296704d1] user: jan.nijtmans branch: new-timer-api, size: 16787
2026-02-03
17:37
More Tcl_Time -> long long simplifications file: fcc1f69f24 check-in: [0e0b04583e] user: jan.nijtmans branch: new-timer-api-prepare, size: 16795
2026-01-28
11:19
Clean-ups unrelated to new-timer-api itself file: 362868ace1 check-in: [e07fdec3c9] user: jan.nijtmans branch: new-timer-api-prepare, size: 17101
2026-01-26
17:40
More progress in notifier (MacOS not done yet) file: d882e7609e check-in: [60fbf56c2f] user: jan.nijtmans branch: new-timer-api, size: 17095
17:03
Merge trunk. More simplifications file: d528b49daa check-in: [feafdf3af1] user: jan.nijtmans branch: new-timer-api, size: 17102
2025-12-28
16:19
Fix some indentation of comments file: f7c8e9895c check-in: [870237637e] user: dkf branch: main, size: 17102
2025-12-05
15:41
More 'bool' usage, mainly for the notifier file: d21fc5e092 check-in: [b95ee14f1d] user: jan.nijtmans branch: main, size: 17103
2025-10-27
14:35
More booleans file: 5090274947 check-in: [c3432ca23e] user: dkf branch: c11-bool, size: 17106
2025-10-10
14:11
Tranche 3 of adoption of bool file: 682a2dceae check-in: [6e7e183bb2] user: dkf branch: c11-bool, size: 17099
2025-09-16
19:17
Eliminate __stdcall usage: cygwin32 is no longer supported file: 76ab1b3f8d check-in: [935703f7c8] user: jan.nijtmans branch: core-8-6-branch, size: 40108
2025-08-12
09:06
More booleans. file: 5bc325cdbd check-in: [8a9080996d] user: dkf branch: c-std-update, size: 17113
2025-05-10
14:49
[3328635] Merge main. Only tested on Windows. file: 9ef7857449 check-in: [6ff6edf427] user: oehhar branch: tkt3328635-posix-monotonic-clock, size: 39473
2024-12-04
17:51
Indenting file: b5904b512b check-in: [3dd7035ccc] user: jan.nijtmans branch: core-8-branch, size: 17117
2024-08-29
08:23
Merge [f6c559b364487a9d]: Space before tab is an extremely unlikely to be correct indentation pattern. file: cd3d8c07cf check-in: [8a11a89576] user: pooryorick branch: unchained, size: 17470
2024-08-26
09:56
Merge [3bdb40e1f2683f5f]: Few more spacing/formatting tweaks. file: bbcede5874 check-in: [30d592af71] user: pooryorick branch: unchained, size: 17482
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: b5e2de164f check-in: [d8a3450f12] user: pooryorick branch: unchained, size: 17515
2024-06-04
15:35
Space before tab is an extremely unlikely to be correct indentation pattern file: 44a96eded2 check-in: [f6c559b364] user: dkf branch: main, size: 17099
2024-04-23
16:06
Hmm, something is broken. Leaving this here but this commit is definitely wrong somehow file: 5fa5c5d0a5 check-in: [b356268e32] user: dkf branch: tidy-indentation, size: 17109
2024-03-20
13:49
Few more spacing/formatting tweaks file: 2450eb0aa2 check-in: [3bdb40e1f2] user: jan.nijtmans branch: main, size: 17111
13:14
(backport) more spacing/formatting tweaks. For now, macosx/unix/win only. file: 90282c5856 check-in: [dc8a99efff] user: jan.nijtmans branch: core-8-branch, size: 17129
2023-10-13
13:50
Fix warning on MacOSX: "/Library/Developer/CommandLineTools/usr/bin/ranlib: file: libtcl8.6.a(tclAlloc.o) has no symbols". Backported from 8.7 file: a515382bd9 check-in: [9cc0a7ac08] user: jan.nijtmans branch: core-8-6-branch, size: 40253
2023-04-14
09:12
Merge 9.0 file: dfd1084407 check-in: [f041e13465] user: jan.nijtmans branch: tip-626, size: 17133
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: a7a0dcf382 check-in: [d65da06a77] user: pooryorick branch: main, size: 17144
13:30
Correct spelling errors in comments and documentation, but also a non-comment corrections in history.tcl and tcltest.test. file: 78fea9e225 check-in: [aca8de0aeb] user: pooryorick branch: core-8-branch, size: 17157
09:35
Correct spelling errors in comments and documentation, but also non-comment corrections in history.tcl and tcltest.test. file: f406290200 check-in: [ee3df4e647] user: pooryorick branch: core-8-6-branch, size: 40207
2023-03-08
15:01
More -Wconversion warning fixes file: 3ebc839a55 check-in: [837dbec7cc] user: jan.nijtmans branch: main, size: 17143
2023-03-05
20:46
Merge 9.0 file: 763d2d70fd check-in: [fef53bf657] user: jan.nijtmans branch: tip-626, size: 17132
2021-09-21
08:36
Experiment: Make Tcl_Time a long long in stead of a struct file: d6f287638f check-in: [7d007b4694] user: jan.nijtmans branch: tcl-time-64bit, size: 16838
2021-08-23
13:00
Make everything compile warning-free when TCL_THREADS=0 file: 882cf5282b check-in: [2abafeca96] user: jan.nijtmans branch: core-8-branch, size: 17156
2021-08-17
16:16
tip#511 proposed implementation file: 45cb5e4bfe check-in: [0d5d82595a] user: jan.nijtmans branch: tip-511, size: 17133
2021-04-08
11:36
Fix compiler warning when using select notifier file: ba17a51735 check-in: [5c510c79c5] user: jan.nijtmans branch: core-8-branch, size: 16318
2021-03-30
08:22
Refactoring, ahoy file: a4640d1bfb check-in: [7365fa0cf2] user: dkf branch: dkf/notifier-cleanup, size: 16313
2020-12-08
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: 36be330f12 check-in: [4254aa305b] user: jan.nijtmans branch: core-8-branch, size: 15253
2020-11-23
14:51
Merge 8.6 file: e0091a72f2 check-in: [d0ea0b25fa] user: jan.nijtmans branch: cygwin, size: 40014
2020-03-31
10:17
Remove MODULE_SCOPE function TclpSetInterfaces(), which is just empty. Increase size of MSG structure in Cygwin Notifier: Should conform with Win32 size. Some related code cleanup. file: 56fc70b7fb check-in: [2616eb1a29] user: jan.nijtmans branch: core-8-6-branch, size: 40206
2019-11-22
21:02
Merge in 8.6.10 release, and resolve conflicts file: a2a441b951 check-in: [3ba55ffebb] user: jan.nijtmans branch: cygwin, size: 39674
2019-09-19
11:36
Don't build the Tcl library in Unicode mode any more. Just tclAppInit.c (and cat32 on Windows) file: 6fb9677663 check-in: [31d001f4a3] user: jan.nijtmans branch: implicit-unicode, size: 39866
2019-09-02
12:27
Merge tip-548. A few more fixes, trying to make the Travis build work (finally) file: 1028af16fd check-in: [2c25cbf8b0] user: jan.nijtmans branch: cplusplus, size: 15255
2019-07-10
05:51
Merge 8.7, and continue implementation. Almost done file: d5c123a39e check-in: [237cdadf3f] user: jan.nijtmans branch: cplusplus, size: 15233
2019-05-24
20:03
Missing keyword: "static" file: 2a13bdca4a check-in: [6315463cce] user: jan.nijtmans branch: core-8-5-branch, size: 39646
2019-03-09
21:22
merge 8-5-event-perf-branch file: 492a3eee63 check-in: [697065a8e5] user: sebres branch: sebres-8-6-event-perf-branch, size: 44539
21:04
NRT relevant only: provides self-calibrating mechanism for TclpUSleep (the actual time of usleep/nanosleep may be longer, due to system latencies and possible limitations in the timer resolution of the hardware); forces context switch or yield the processor if sleep time to small. file: 10ccbdc8b1 check-in: [9ce15c7f1a] user: sebres branch: sebres-8-5-event-perf-branch, size: 44410
20:07
non-native time scale fixed: do scale time only once (not in cycle, since all other times used in calculation already scaled). file: 59ffed008d check-in: [f20b5264a3] user: sebres branch: sebres-8-5-event-perf-branch, size: 43682
2018-10-22
04:30
Make new notifier code match Engineering Manual guidelines better file: 14261d8c3e check-in: [fa73b929c7] user: dkf branch: core-8-branch, size: 15211
2018-05-31
21:24
merge zipfs file: f43a1bc3ea check-in: [fc74365c13] user: jan.nijtmans branch: androwish, size: 46310
2018-05-23
13:34
unbreak the build file: 7a076bfde9 check-in: [3192cb4bf1] user: dgp branch: core-8-branch, size: 15145
2018-05-22
20:53
Simplify usage of TCL_THREAD, along the lines of [eeddb0693a950be980a66de3811630a00c7bab54|eeddb0693a]. Suggested by DKF file: 51a1d92179 check-in: [bf06e36b25] user: jan.nijtmans branch: core-8-branch, size: 15125
20:10
Fix build with TCL_THREADS=0 on Linux/other without epoll or kqueu support. In that case, fallback to select notifier file: 7314d3359d check-in: [8ef23e1f55] user: jan.nijtmans branch: core-8-branch, size: 15224
2018-05-17
18:53
TIP #491 implementation: Threading Support: phasing out non-threaded builds file: 36fa94366a check-in: [e9ee6fc387] user: jan.nijtmans branch: core-8-branch, size: 15230
2017-12-23
22:34
Keep track of Yaakov Selkowitz's changes for Cygwin. file: 6ff1440876 check-in: [381e6a60de] user: jan.nijtmans branch: cygwin, size: 39671
2017-12-10
14:35
Fix [040586323610be22f8617962377324f4ddc9bc02|0405863236]: wrong field checked in struct pollfd in TclUnixWaitForFile file: cd8fd8cce8 check-in: [97378bb6a5] user: jan.nijtmans branch: core-8-branch, size: 15114
2017-07-10
10:56
reintegrate sebres-8-6-event-perf-branch back to 8.5 file: 2e0bf6a02b check-in: [d97f93c3f3] user: sebres branch: sebres-8-5-event-perf-branch, size: 43764
08:59
tclUnixNotfy.c: we should wait for notifier at least once in case of waitForFiles (regardless of the too short timeout), e. g. test case "chan-io-53.8", etc. file: 5e18be0a90 check-in: [b13e24b699] user: sebres branch: sebres-8-6-event-perf-branch, size: 43893
08:53
merge resp. reintegrate sebres-8-5-event-perf-branch to 8.6 file: 40e89a2d37 check-in: [fed961497a] user: sebres branch: sebres-8-6-event-perf-branch, size: 43727
2017-07-03
13:32
code review and small optimizations file: e965e7ccc0 check-in: [3fc8da2b5f] user: sebres branch: sebres-8-5-event-perf-branch, size: 43598
13:32
[unix] fixes conditional-wait: timeout is monotonic based; file: 34abfae86e check-in: [ff5825e185] user: sebres branch: sebres-8-5-event-perf-branch, size: 43579
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: 7ca07022cf check-in: [b9371d7b63] user: sebres branch: sebres-8-5-event-perf-branch, size: 43151
13:27
[unix] optimized Tcl_WaitForEvent similar to windows changes (makes Tcl for *nix more "RTS" resp. NRT-capable): - more precise waiting now (e.g. still microseconds by time up to 0.005 ms), important since after/vwait accepting microseconds (double); - avoids too long waiting on *nix wait/sleep primitives, e. g. by `timerate {vwait 0 a}` - 1.5µs now vs. 31.9µs before; - extended with new internal function TclpSleep (in contrast to Tcl_Sleep accept Tcl_Time, so microseconds); file: 2b2d4d0413 check-in: [07f66da0c2] user: sebres branch: sebres-8-5-event-perf-branch, size: 43733
2017-04-26
14:06
Experiment, does this work? Still to be tested: Eliminate variable triggerPipeVal/eventFdVal (just use 'char dummy'), and just read/write 1 byte to triggerEventFd in stead of 8. Experiment failed: eventfd's always should be read/written 8 bytes. file: fa426ec1c8 check-in: [2d07e770af] user: jan.nijtmans branch: tip-458-experiment, size: 15040
13:48
Move some variable declarations closer to where they are used. No change in functionality. file: adee44c3e8 check-in: [cf831b219f] user: jan.nijtmans branch: tip-458, size: 15111
2017-04-13
10:00
Merge trunk file: 2b0729f92c check-in: [0169fbc878] user: jan.nijtmans branch: tkt3328635-posix-monotonic-clock, size: 39798
2017-03-24
10:30
Merge trunk file: f64a3eb0b4 check-in: [16f83d748c] user: jan.nijtmans branch: tip-458, size: 15223
09:33
Add TCL_NORETURN attribute to TclpThreadExit() and Tcl_ExitThread() file: 2f7e78b7bc check-in: [c1557805a9] user: jan.nijtmans branch: trunk, size: 38790
2017-03-08
14:50
minor simplification file: b04d04a8e0 check-in: [6b8cff38a9] user: jan.nijtmans branch: tip-458, size: 15210
13:56
Fix compile error on Cygwin, and double definition of TclUnixWaitForFile() file: 0ce858e2a8 check-in: [c12456b387] user: jan.nijtmans branch: tip-458, size: 15340
13:35
Re-base to trunk, and get latest code from here: [https://github.com/lalbornoz/tcl/tree/tip458]. Untested. file: e6583e7799 check-in: [175904ed88] user: jan.nijtmans branch: tip-458, size: 15435
2017-01-06
11:55
Merge zipfs file: 09124bf580 check-in: [ab145ad122] user: jan.nijtmans branch: androwish, size: 39821
2016-12-06
21:52
move pthread_sigmask() calls to Tcl_WaitForEvent() where they belong file: 3b4b6987c5 check-in: [8cec831ad2] user: aspect branch: bug-f4f44174e, size: 39153
21:51
unblock signals correctly with SIG_SETMASK file: 10f2329d1b check-in: [ae3cf707c1] user: aspect branch: bug-f4f44174e, size: 39154
2016-12-05
23:14
use pthread_sigmask to protect the notifier against signals (bug [f4f44174e]) file: 505e1ef88c check-in: [b40778af44] user: aspect branch: bug-f4f44174e, size: 39152
2016-11-25
15:44
Implementation of improved notifier from Lucio Andrés Illanes Albornoz. file: c1927718c0 check-in: [a5fa5e7e78] user: dkf branch: tip-458, size: 57352
2016-11-18
10:23
Fix mp_cnt_lsb() signature, so it matches the signature used in Tcl. Add two missing "static" keywords in tclUnixNotfy.c. Remove some more files in libtommath directory which are not useful for Tcl. file: b8c2a317d0 check-in: [018f6fdbb9] user: jan.nijtmans branch: core-8-6-branch, size: 39863
09:50
Fix [e6f27aa56fa51bfc1752ce768bf0d301c60bfd2c|e6f27aa56f]: Update libtommath to 1.0 file: 0ce727c7f4 check-in: [6d14b81579] user: jan.nijtmans branch: trunk, size: 38764
2016-09-26
15:38
Merge core-8-6-branch. upstream androwish modifications. file: bcf27e130a check-in: [88fd04e92c] user: jan.nijtmans branch: androwish, size: 39807
09:35
[3328635] Latest patch from Christian Werner file: 80e24a9bda check-in: [965d56c3af] user: jan.nijtmans branch: tkt3328635-posix-monotonic-clock, size: 39758
2016-08-19
12:45
merge zipfs file: 1a7007d783 check-in: [63eab9444d] user: jan.nijtmans branch: androwish, size: 38799
2016-03-30
20:03
The following patch against a stock tcl 8.6.5 source tree tries to implement most of TIP #302 for UN*X and WIN32/64: * use clock_gettime(CLOCK_MONOTONIC) for relative timing (UN*X) when available (tested at runtime) * use PTHREAD_CONDATTR_SETCLOCK et.al. for pthread_cond (UN*X) when available (tested at runtime) * use GetTickCount64() for relative timing (WIN64) * use GetTickCount() for relative timing (WIN32 for WINNT<6.0) * configure (UN*X) detects availabilty of clock_gettime() and pthread_condattr_setclock() plus adds optional -lrt to LIBS * configure (WIN32) adds command line option --with-tickcount to turn on GetTickCount*() usage Trade-off: implementation eliminates virtualized time, unfortunately. Best regards, Christian Werner --- missing merge --- diff -ur tcl8.6.5-orig/win/configure.in tcl8.6.5/win/configure.in --- tcl8.6.5-orig/win/configure.in 2016-02-29 20:13:09.000000000 +0100 +++ tcl8.6.5/win/configure.in 2016-03-25 06:47:47.712516747 +0100 @@ -142,6 +142,15 @@ ]) AC_DEFINE(HAVE_ZLIB, 1, [Is there an installed zlib?]) +AC_ARG_WITH(tickcount, + AC_HELP_STRING([--with-tickcount], + [use GetTickCount for timers, turns off interp time limits]), + [tcl_ok=$withval], [tcl_ok=no]) +AC_MSG_RESULT([$tcl_ok]) +if test $tcl_ok = yes; then + AC_DEFINE(WIN32_USE_TICKCOUNT, 1, [Use GetTickCount for timers?]) +fi + AC_CHECK_TYPE([intptr_t], [ AC_DEFINE([HAVE_INTPTR_T], 1, [Do we have the intptr_t type?])], [ AC_CACHE_CHECK([for pointer-size signed integer type], tcl_cv_intptr_t, [ file: 1af9b46d03 check-in: [6fa1088680] user: oehhar branch: tip-302, size: 39777
2016-03-29
12:07
merge trunk file: 07db518f43 check-in: [ad2fb188b8] user: dgp branch: novem, size: 38750
10:17
Eliminate AT_FORK_INIT_VALUE/RESET_ATFORK_MUTEX macro's, since other values than the default are not supported anyway. This results in the elimination of (empty functions anyway) AtForkPrepare/AtForkParent. Also improve consistancy in some variable names. No change of functionality. file: 9bf71d6c35 check-in: [255b94edcb] user: jan.nijtmans branch: trunk, size: 38779
2016-03-21
14:22
(experiment) Use TclpMasterLock() in stead of a separate notifierInitMutex. One less mutex to be worried about. file: dd273a0a82 check-in: [2aa18b39c4] user: jan.nijtmans branch: notifier, size: 39561
12:10
merge trunk file: 4ad4624504 check-in: [960c5239bf] user: jan.nijtmans branch: novem, size: 39820
12:08
(cherry-pick): Fix [d3071887dbc7aeac]: Fix SEGV in Tcl_FinalizeNotifier(). Thanks to hirofumi for both the bug-report and the fix file: 8370ecb9e4 check-in: [df0f0d57b3] user: jan.nijtmans branch: core-8-5-branch, size: 39632
09:16
.... oops .... file: e7a4e80416 check-in: [9d6b27346e] user: jan.nijtmans branch: bug-d3071887dbc7aeac, size: 39849
09:05
Proposed fix for [d3071887dbc7aeac]: Fix SEGV in Tcl_FinalizeNotifier() file: 0373bf941a check-in: [7636c287f5] user: jan.nijtmans branch: bug-d3071887dbc7aeac, size: 39847
2015-10-04
10:27
merge trunk file: 6ac9be1e9e check-in: [e58f76013c] user: jan.nijtmans branch: novem, size: 39742
10:20
Eliminate unnessessary end-of-line spacing. No functional change. file: 5ccf47c1ae check-in: [7caaf52e89] user: jan.nijtmans branch: trunk, size: 39771
10:10
Eliminate unnessessary end-of-line spacing. No functional change. file: c5ae80f541 check-in: [c8dd06d2fa] user: jan.nijtmans branch: core-8-5-branch, size: 39548
2015-10-01
11:04
Eliminate a few gcc compiler warnings, when using -Wwrite-strings (tested with the brand-new gcc 5.2.0) file: 8d1fa0a54d check-in: [acd5ab176d] user: jan.nijtmans branch: core-8-5-branch, size: 39549
2015-09-25
17:12
merge trunk file: d7c194b323 check-in: [e2fac8a6f7] user: jan.nijtmans branch: novem, size: 39743
2015-09-24
10:54
Fix [5d170b5ca5e12743006d737c79f959f3efabc644|5d170b5ca5]: checkin 9f8b7bea5344f1b0 broke netbsd's thread notifier file: 1d689179cc check-in: [f30afc36b5] user: jan.nijtmans branch: core-8-5-branch, size: 39543
10:03
merge trunk file: dc9c1c63ad check-in: [b65985a504] user: jan.nijtmans branch: bug-5d170b5ca5, size: 39772
10:01
merge-mark (almost, just a few cosmetic changes) file: 51aaae81e0 check-in: [0b3d2ed4aa] user: jan.nijtmans branch: trunk, size: 37422
09:55
Clean-up tclUnixNotfy.c, restructure it the same as "trunk" version. No functional changes. This will make upcoming merging work easier. file: e3a029ecfc check-in: [a6517a4eb6] user: jan.nijtmans branch: core-8-5-branch, size: 37266
2015-09-07
08:35
Fix for [5d170b5ca5] now available for widespread testing (incl. HPUX and OSX) file: c523583141 check-in: [3ff8944fc4] user: jan.nijtmans branch: bug-5d170b5ca5, size: 39754
2015-09-05
20:10
Merge trunk. "paranoia" patch for the notifier, making sure that thread local data from invalid threads are never accessed by the forked main thread. file: e6d258dee9 check-in: [d8fd974ade] user: jan.nijtmans branch: bug-5d170b5ca5, size: 39883
2015-09-03
09:39
In StartNotifierThread() don't lock mutex if thread is already started. Fix panic message if thread cannot be started. Remove asserts used for debugging. file: 178f61848a check-in: [795a9a8bc0] user: jan.nijtmans branch: bug-5d170b5ca5, size: 39679
2015-09-02
11:54
Fix the Cygwin notifier, doing the initialization of the thread-local variables exactly the same as the Unix notifier. file: afb2f48b1f check-in: [57e106c650] user: jan.nijtmans branch: bug-5d170b5ca5, size: 40299
09:02
Merge trunk. Gustaf's latest and greatest fix. file: 7318c42d95 check-in: [e2f25680d8] user: jan.nijtmans branch: bug-5d170b5ca5, size: 40190
2015-08-31
10:41
Merge trunk. Add Gustaf's latest fix for unit-tests. file: b9d9b48d20 check-in: [3458e0ec21] user: jan.nijtmans branch: bug-5d170b5ca5, size: 40198
2015-08-17
20:35
remove superfluous fprintf to stderr. file: c189a5518f check-in: [77145133c7] user: jan.nijtmans branch: bug-5d170b5ca5, size: 39834
19:39
Merge trunk. More notifier code cleanup. file: dad303474d check-in: [798b3cf35c] user: jan.nijtmans branch: bug-5d170b5ca5, size: 39883
15:21
Merge trunk. Gustaf's latest Unix Notifier improvements, now fixed to work with Cygwin and single-threaded as well. file: c614c2f3a4 check-in: [692b1f54b4] user: jan.nijtmans branch: bug-5d170b5ca5, size: 40201
2015-08-06
03:43
Gustaf Neumann's experimental Unix notifier improvements. file: 5a44b1767a check-in: [9e6cdeea1d] user: jan.nijtmans branch: bug-5d170b5ca5, size: 41136
2015-07-29
14:56
merge trunk file: 0f868f68a8 check-in: [2fe99beec9] user: dgp branch: novem, size: 37375
2015-07-23
16:53
Fix bug [57945b574a6df0332efc4ac96b066f7c347b28f7|57945b574a]: lock in forking process under heavy multithreading. Thanks to Joe Mistachkin for the implementation of the fix, and Gustaf Neumann for the original report and testing the fix. file: a787e76740 check-in: [6abeca2800] user: jan.nijtmans branch: core-8-5-branch, size: 36735
2015-06-17
20:32
Rename the new API to TclMutexUnlockAndFinalize as it is not platform-specific. file: 97ce32e28b check-in: [bc5d1d75a1] user: mistachkin branch: bug-57945b574a-without-stub, size: 37404
2015-06-16
15:24
Change Tcl_MutexUnlockAndFinalize() to internal function TclpMutexUnlockAndFinalize(). This does not require a TIP, and still should fix the reported bug. file: 33adff20b5 check-in: [c2af0457ba] user: jan.nijtmans branch: bug-57945b574a-without-stub, size: 37405
2015-05-27
22:34
Fix typo in previous check-in. file: 3b53778133 check-in: [a6cc71ba6d] user: mistachkin branch: experimental, size: 37405
22:29
Make sure the master and mutex locks are in a well-known state across the fork() call. file: fce3187763 check-in: [c69cf62a8e] user: mistachkin branch: experimental, size: 37397
2015-05-21
17:58
Additional mutex locking/unlocking during fork() to keep things synchronized. file: 04e98586e3 check-in: [ba2d367156] user: mistachkin branch: experimental, size: 37268
2015-04-09
19:53
Add new public Tcl C API to allow a mutex to be unlocked and then finalized atomically. Candidate fix for bug [57945b574a]. file: b25ea8c1d4 check-in: [30dc11630f] user: mistachkin branch: bug-57945b574a, size: 37196
2014-08-29
22:56
Initial attempt at converting select()-based notifier to poll() file: 98eb023269 check-in: [77bea02457] user: jcr branch: jcr-notifier-poll, size: 35923
2014-08-14
06:49
Merge trunk. Remove (old and deprecated) SystemV timezone information. file: e1e39d2f2e check-in: [2f17676f24] user: jan.nijtmans branch: novem, size: 37158
2014-07-21
14:26
[e6477e1b0f] Plug memleak in AtForkChild() detected in iocmd-11.4. file: 58e597ad8d check-in: [ce7a959e88] user: dgp branch: trunk, size: 37187
2013-10-29
13:25
merge trunk file: 3d2f0a001c check-in: [e494959ae2] user: jan.nijtmans branch: novem, size: 37127
08:17
Workaround for [414d10346b]: tcl 8.5.15/8.6.1(threaded build) hangs in exec on HP-UX file: 57d4f6ceba check-in: [6ba84ab753] user: jan.nijtmans branch: trunk, size: 37156
08:15
Workaround for [414d10346b]: tcl 8.5.15/8.6.1(threaded build) hangs in exec on HP-UX file: 45d86afd17 check-in: [d7c93731e2] user: jan.nijtmans branch: core-8-5-branch, size: 36491
00:30
Also finalize the condition variables for each notifier thread. file: 546827f4f7 check-in: [331b645669] user: mistachkin branch: unsetThreadData, size: 38863
00:19
Some cleanup of the previous assumptions. file: 2054787783 check-in: [e972fd496b] user: mistachkin branch: unsetThreadData, size: 38820
2013-10-28
23:39
Add experimental new Tcl API Tcl_UnsetThreadData. file: 26ab920512 check-in: [f6b2f8b451] user: mistachkin branch: unsetThreadData, size: 38695
22:40
Another attempt to cleanup stale remnants of the notifier subsystem. file: a166a1b0a4 check-in: [2226ee4340] user: mistachkin branch: tkt-414d10346b, size: 38731
21:45
Try resetting all the 'one time' locks as well. file: 8682c69308 check-in: [4ae506f66c] user: mistachkin branch: tkt-414d10346b, size: 37875
21:01
Attempt to make sure the notifier gets fully re-initialized. file: 5d55b85047 check-in: [1b49d47281] user: mistachkin branch: tkt-414d10346b, size: 37617
20:21
Tweak to the fix. Tcl_InitNotifier() hangs. Removed. Fixes exec. Unclear about Rivet with original case. file: bb1f6b898e check-in: [519892f27c] user: andreask branch: tkt-414d10346b, size: 37149
19:34
Prototype of fix for ticket [414d10346b]. file: 8127d03efa check-in: [53e8329d0d] user: mistachkin branch: tkt-414d10346b, size: 37224
2013-10-08
11:58
Merge trunk. Remove obsolete lines in tclOO*Decls.h: TCL_STORAGE_CLASS is not used anywhere in "novem" any more. file: cf9257a494 check-in: [b874d5210d] user: jan.nijtmans branch: novem, size: 37067
2013-10-07
14:25
Fix for [d4e464ae48]: tcl 8.5.15/8.6.1 breaks python make check on darwin file: 978514ec78 check-in: [09eb125484] user: jan.nijtmans branch: trunk, size: 37096
2013-10-06
19:27
First attempt to fix bug [d4e464ae48]: tcl 8.5.15/8.61 breaks python make check on darwin file: 8478fee839 check-in: [4b277b8c24] user: jan.nijtmans branch: bug-d4e464ae48, size: 36431
2013-08-02
10:33
merge trunk file: 8a3b701cd6 check-in: [396ccb299c] user: jan.nijtmans branch: novem, size: 36954
2013-08-01
12:54
Tcl_InitNotifier: Bug [a0bc856dcd]. Start notifier thread again if we were forked, to solve Rivet bug 55153 file: bfcc715ab4 check-in: [e733a91cdb] user: jan.nijtmans branch: trunk, size: 36983
2013-07-25
08:29
Make sure that the notifierMutex and notifierCV in a forked child cannot block anything, even though the initialization of the Notifier Thread in the parent is not finished yet. file: 3c55b68d2b check-in: [116f5be24c] user: jan.nijtmans branch: rfe-notifier-fork, size: 36318
2013-07-22
10:57
Use pthread_atfork() when available. file: 1ab778f098 check-in: [94b207274c] user: jan.nijtmans branch: rfe-notifier-fork, size: 36269
10:10
Fix bug which hangs iocmd.tf-32.1 file: 6da1bd13e0 check-in: [9ce264b926] user: jan.nijtmans branch: rfe-notifier-fork, size: 34659
2013-07-21
14:52
Rebase to core-8-5-branch Add "testfork" test command to be usable in testcase. file: 4204481d23 check-in: [6f69bbba43] user: jan.nijtmans branch: rfe-notifier-fork, size: 34660
2013-07-17
16:02
Start notifier thread again if we were forked, to solve Rivet bug 55153 - RFE [a0bc856dcd] file: b6764a43a5 check-in: [30ab3e0fb0] user: oehhar branch: rfe-notifier-fork, size: 35329
2013-07-04
19:33
merge trunk file: 0c99f86b74 check-in: [26ef4ffa3f] user: jan.nijtmans branch: novem, size: 34640
2013-07-03
08:56
Fix compiler warning when compiling Cygwin port with -Wwrite-strings file: 894df5b75c check-in: [5873351128] user: jan.nijtmans branch: trunk, size: 34669
2013-01-25
12:58
merge trunk Add -Wwrite-strings to compiler options, so we can guarantee correct "const" usage. file: 0e3a247e08 check-in: [b23d78bcae] user: jan.nijtmans branch: novem, size: 34624
2012-09-07
14:44
Backport of 2008-12-12 8.6 commit: Fix missing CLOEXEC on internal pipes [2417695] file: 307d982c04 check-in: [662a69f571] user: ferrieux branch: core-8-5-branch, size: 33941
2012-08-20
06:49
remove unnecessary struct names, which only pollute the "struct" namespace for te compiler. file: de82ce1187 check-in: [db442914c7] user: jan.nijtmans branch: jn-no-struct-names, size: 34606
2012-08-07
20:57
Minor changes to improve style (C89 declarations, consistent indentation, clarification of #endifs, reduction of unnecessary casts, use of array syntax for reading array elements, etc.) file: 5de63e82f0 check-in: [3995dbcf90] user: dkf branch: trunk, size: 34635
2012-07-10
20:27
merge 8.5 file: daa881440e check-in: [c7c6dfcb5b] user: dgp branch: trunk, size: 34219
18:28
[Bug 3541646] Don't panic on triggerPipe overrun file: 8f80dfe8b4 check-in: [8937ef6b48] user: jan.nijtmans branch: core-8-5-branch, size: 33670
2012-06-23
07:27
[Bug 3508771]: Cygwin notifier for handling win32 events file: f5bc5b88c9 check-in: [eb701a2be1] user: jan.nijtmans branch: trunk, size: 34171
07:10
[Bug 3508771]: Cygwin notifier for handling win32 events file: eb454bae52 check-in: [b14932f43b] user: jan.nijtmans branch: core-8-5-branch, size: 33617
06:59
[Bug 3508771]: Cygwin notifier for handling win32 events file: affe0f8419 check-in: [0741b45cd7] user: jan.nijtmans branch: core-8-4-branch, size: 33924
2012-06-22
08:29
first working version of Cygwin notifier file: a2cd6553ab check-in: [e93625f4c5] user: jan.nijtmans branch: bug-3508771, size: 33893
2012-06-13
14:48
first attempt at Cygwin notifier adaptation file: 00982f62ef check-in: [52cd1f0ff2] user: jan.nijtmans branch: bug-3508771, size: 33387
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: c2a7bbe338 check-in: [5574bdd262] user: dkf branch: trunk, size: 30362
2011-03-10
14:12
fix broken build file: 8fb539debd check-in: [6cbd775460] user: dgp branch: trunk, size: 30408
09:31
MINOR: Formatting fixes, mainly to comments, so code better fits the style in the Engineering Manual. file: abb4b241b5 check-in: [5cb634a1c1] user: dkf branch: trunk, size: 30410
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: f86c35a5a6 check-in: [c64f310d38] user: dgp branch: trunk, size: 30345
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: 1b7880dfc4 check-in: [79367df0f0] user: dgp branch: core-8-5-branch, size: 29806
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: 0b59cd0e1c check-in: [90b4acd7bd] user: dgp branch: core-8-4-branch, size: 30123
2010-11-23
13:11
Jump. file: 93bf1da756 check-in: [f8ff91db3f] user: andreask branch: activestate-nre-excised-variant-1-roll-forward, size: 30418
11:38
Next @500. file: 21db18e2a3 check-in: [5365d7ae02] user: andreask branch: activestate-nre-excised-variant-1-roll-forward, size: 30374
2010-11-22
16:07
Next @380. OO Stacktraces broken. file: e486f17d99 check-in: [1713113dd4] user: andreask branch: activestate-nre-excised-variant-1-roll-forward, size: 30103
2010-11-18
17:15
Next, @134 file: f14d23397d check-in: [7fc03e57d1] user: andreask branch: activestate-nre-excised-variant-1-roll-forward, size: 30110
2010-09-17
12:55
Merge from HEAD to rmax-ipv6-branch file: dee9c0522f check-in: [70c6ac9692] user: rmax branch: rmax-ipv6-branch, size: 30423
2010-06-21
20:23
merge file: 50a6801b9b check-in: [6d709daeba] user: dgp branch: dgp-refactor, size: 30423
11:23
Eliminate various unnecessary type casts, use function typedefs whenever possible file: 216efc7b72 check-in: [8086293cfc] user: nijtmans branch: trunk, size: 30423
2010-01-29
09:38
Use correct TCL_LL_MODIFIER for CYGWIN. Formatting (all backported from HEAD) Fix gcc 4.4 warning: ignoring return value of ‘write’, file: 24789bfe38 check-in: [998a628472] user: nijtmans branch: core-8-5-branch, size: 29888
2009-12-17
15:17
merge updates from HEAD file: 7b51738f2d check-in: [ad209c88d2] user: dgp branch: dgp-refactor, size: 30458
00:06
Fix gcc warning: ignoring return value of ‘write’, declared with attribute warn_unused_result file: e9ac64ebdd check-in: [295ac3225d] user: nijtmans branch: trunk, size: 30458
2009-12-16
23:25
Fix gcc warning: ignoring return value of ‘write’, declared with attribute warn_unused_result CONSTify functions TclpGetUserHome and TclSetPreInitScript (TIP #27) file: 3c2ab6ccbd check-in: [e52afe7fa4] user: nijtmans branch: trunk, size: 30466
2009-04-10
18:09
merge updates from HEAD file: ed1d00ea5e check-in: [faf6373107] user: dgp branch: dgp-refactor, size: 30200
18:02
* macosx/tclMacOSXNotify.c: revise CoreFoundation notifier to allow * unix/tclUnixChan.c: embedding into applications that * unix/tclUnixEvent.c: already have a CFRunLoop running and want to run the tcl event loop via Tcl_ServiceModeHook(TCL_SERVICE_ALL). * macosx/tclMacOSXNotify.c: add CFRunLoop based Tcl_Sleep() and * unix/tclUnixChan.c: TclUnixWaitForFile() implementations * unix/tclUnixEvent.c: and disable select() based ones in CoreFoundation builds. * unix/tclUnixNotify.c: simplify, sync with tclMacOSXNotify.c. * generic/tclInt.decls: add TclMacOSXNotifierAddRunLoopMode() * generic/tclIntPlatDecls.h: internal API, regen. * generic/tclStubInit.c: file: e0035c7f7d check-in: [7a6749806a] user: das branch: core-8-5-branch, size: 29636
18:02
* macosx/tclMacOSXNotify.c: revise CoreFoundation notifier to allow * unix/tclUnixChan.c: embedding into applications that * unix/tclUnixEvent.c: already have a CFRunLoop running and want to run the tcl event loop via Tcl_ServiceModeHook(TCL_SERVICE_ALL). * macosx/tclMacOSXNotify.c: add CFRunLoop based Tcl_Sleep() and * unix/tclUnixChan.c: TclUnixWaitForFile() implementations * unix/tclUnixEvent.c: and disable select() based ones in CoreFoundation builds. * unix/tclUnixNotify.c: simplify, sync with tclMacOSXNotify.c. * generic/tclInt.decls: add TclMacOSXNotifierAddRunLoopMode() * generic/tclIntPlatDecls.h: internal API, regen. * generic/tclStubInit.c: file: 51b7f49162 check-in: [ec1a5f8686] user: das branch: trunk, size: 30195
2008-12-13
19:29
merge updates from HEAD file: e59cda5e99 check-in: [88564211a5] user: dgp branch: dgp-refactor, size: 30379
2008-12-12
16:07
Fix missing CLOEXEC on internal pipes [2417695] and [chan pipe] fds. file: 8741e26256 check-in: [5a5e87fae7] user: ferrieux branch: trunk, size: 30379
2008-11-10
02:18
merge updates from HEAD file: d8ea6433d4 check-in: [4a9c1325dc] user: dgp branch: dgp-refactor, size: 30108
2008-10-26
12:45
Style improvements - invoking callbacks without visual junk. file: 8751406a95 check-in: [de3bfd137a] user: dkf branch: trunk, size: 30103
2008-07-29
20:13
merge updates from (near) HEAD file: ce08347de4 check-in: [f51e3a3c72] user: dgp branch: dgp-refactor, size: 30115
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: 08b52a6fe3 check-in: [7ade6e690e] user: nijtmans branch: trunk, size: 30115
2008-04-18
13:02
merge updates from HEAD file: 4f8293439d check-in: [db78c97753] user: dgp branch: dgp-refactor, size: 30103
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: 6327d1770d check-in: [79cb766dcc] user: das branch: trunk, size: 30098
2008-03-13
14:47
merge updates from HEAD file: bc363e8448 check-in: [6aa4ae8390] user: dgp branch: core-stabilizer-branch, size: 29808
14:37
merge updates from HEAD file: a52c9aec6d check-in: [d4d838591f] user: dgp branch: dgp-refactor, size: 29809
2008-03-11
22:23
* unix/tclUnixNotfy.c: fix warning file: ad6db854a5 check-in: [f1ac417c0c] user: das branch: trunk, size: 29804
2008-03-07
22:05
merge updates from HEAD file: 8472ea645a check-in: [3b6959be94] user: dgp branch: core-stabilizer-branch, size: 29816
2008-03-03
04:34
merge updates from HEAD file: 8f2b975669 check-in: [f211098809] user: dgp branch: dgp-refactor, size: 29817
2008-02-28
20:12
Consolidate all code conditionalized on -DUSE_FIONBIO into one place. New routine TclUnixSetBlockingMode(). file: bc8fa88b2b check-in: [f166136c31] user: jenglish branch: trunk, size: 29817
2006-08-29
16:19
merge updates from HEAD file: 2577ad5846 check-in: [e1feeec3e7] user: dgp branch: dgp-refactor, size: 30226
2006-08-22
17:45
* unix/tclUnixNotfy.c (Tcl_WaitForEvent): Fixed broken if syntax committed 2006-08-21 by Daniel. The broken syntax is visible to all unix platforms, but not on OSX for machines which HAVE_COREFOUNDATION. file: f30ca1d3fb check-in: [0671965d0f] user: andreas_kupries branch: core-8-4-branch, size: 30213
2006-08-21
01:08
* macosx/tclMacOSXNotify.c (Tcl_WaitForEvent): if the run loop is already running (e.g. if Tcl_WaitForEvent was called recursively), re-run it in a custom run loop mode containing only the source for the notifier thread, otherwise wakeups from other sources added to the common run loop modes might get lost; sync panic msg changes from HEAD. * unix/tclUnixNotfy.c (Tcl_WaitForEvent): on 64-bit Darwin, pthread_cond_timedwait() appears to have a bug that causes it to wait forever when passed an absolute time which has already been exceeded by the system time; as a workaround, when given a very brief timeout, just do a poll on that platform. [Bug 1457797] file: a2b323cb91 check-in: [346bc651f3] user: das branch: core-8-4-branch, size: 30203
01:08
* macosx/tclMacOSXNotify.c (Tcl_WaitForEvent): if the run loop is already running (e.g. if Tcl_WaitForEvent was called recursively), re-run it in a custom run loop mode containing only the source for the notifier thread, otherwise wakeups from other sources added to the common run loop modes might get lost. * unix/tclUnixNotfy.c (Tcl_WaitForEvent): on 64-bit Darwin, pthread_cond_timedwait() appears to have a bug that causes it to wait forever when passed an absolute time which has already been exceeded by the system time; as a workaround, when given a very brief timeout, just do a poll on that platform. [Bug 1457797] file: 1f99b6b779 check-in: [7221913ebc] user: das branch: trunk, size: 30221
2006-08-10
12:15
Various minor object file size efficiency fixes. [Bug 1530474] file: ce55d47d7f check-in: [a09967381c] user: dkf branch: trunk, size: 29827
2005-12-02
18:42
merge updates from HEAD file: 969c9eb87d check-in: [1059d34b2b] user: dgp branch: dgp-refactor, size: 29839
2005-11-27
02:34
* unix/tcl.m4 (Darwin): add 64bit support, check for Tiger copyfile(), add CFLAGS to SHLIB_LD to support passing -isysroot in env(CFLAGS) to configure (flag can't be present twice, so can't be in both CFLAGS and LDFLAGS during configure), don't use -prebind when deploying on 10.4, define TCL_IO_TRACK_OS_FOR_DRIVER_WITH_BAD_BLOCKING (rdar://3171542). (SC_ENABLE_LANGINFO, SC_TIME_HANDLER): add/fix caching, fix obsolete autoconf macros. Sync with tk/unix/tcl.m4, sync whitespace with HEAD. * unix/configure.in: fix obsolete autoconf macros, sync gratuitous formatting/ordering differences with tk/unix/configure.in. * unix/Makefile.in: add CFLAGS to tclsh/tcltest link to make executable linking the same as during configure (needed to avoid loosing any linker relevant flags in CFLAGS, in particular flags that can't be in LDFLAGS). Avoid concurrent linking of tclsh and compiling of tclTestInit.o or xtTestInit.o during parallel make. (checkstubs, checkdoc, checkexports): dependency and Darwin fixes * unix/tclLoadDyld.c (TclpDlopen): use NSADDIMAGE_OPTION_WITH_SEARCHING on second NSAddImage only. [Bug 1204237] (TclGuessPackageName): should not be MODULE_SCOPE. (TclpLoadMemory): ppc64 and endian (i386) fixes, add support for loading universal (fat) bundles from memory. * unix/tclUnixPort.h: * unix/tclUnixFCmd.c: add support for new Tiger copyfile() API to enable copying of xattrs & ACLs by [file copy]. * generic/tcl.h: add Darwin specifc configure overrides for TCL_WIDE defines to support fat compiles of ppc and ppc64 at the same time, (replaces Darwin CVS fix by emoy, rdar://3693001). add/correct location of version numbers in macosx files. * generic/tclInt.h: clarify fat compile comment. * unix/tclUnixPort.h: add Darwin specifc configure overrides to support fat compiles, where configure runs only once for multiple architectures (replaces Darwin CVS fix by emoy, rdar://3693001). * macosx/tclMacOSXBundle.c: * macosx/tclMacOSXNotify.c: * unix/tclUnixNotfy.c: * unix/tclUnixPort.h: fix #include order to support compile time override of HAVE_COREFOUNDATION in tclUnixPort.h when building for ppc64 * macosx/Tcl.pbproj/default.pbxuser (new file): * macosx/Tcl.pbproj/jingham.pbxuser: * macosx/Tcl.pbproj/project.pbxproj: sync with HEAD. * macosx/README: clarification/cleanup, sync with HEAD, document universal (fat) builds via CFLAGS (i.e. all of ppc ppc64 i386 at once). * macosx/Makefile: add support for reusing configure cache, build target fixes, remove GENERIC_FLAGS override now handled by tcl.m4. * generic/tclIOUtil.c: * generic/tclRegexp.c: * generic/tclVar.c: declare globals used only in own file as static (sync with HEAD). * generic/rege_dfa.c (getvacant): * generic/regexec.c (cfind): * generic/tclCompExpr.c (CompileSubExpr): * unix/tclUnixChan.c (TclUnixWaitForFile): initialise variables to silence gcc 4 warnings. * generic/regguts.h: only #define NDEBUG if not already #defined. * macosx/tclMacOSXNotify.c: sync whitespace & comments with HEAD * unix/configure: regen. file: c3ce272635 check-in: [c6e668d19d] user: das branch: core-8-4-branch, size: 29809
02:33
* unix/tcl.m4 (Darwin): add 64bit support, check for Tiger copyfile(), add CFLAGS to SHLIB_LD to support passing -isysroot in env(CFLAGS) to configure (flag can't be present twice, so can't be in both CFLAGS and LDFLAGS during configure), don't use -prebind when deploying on 10.4, define TCL_IO_TRACK_OS_FOR_DRIVER_WITH_BAD_BLOCKING (rdar://3171542). (SC_ENABLE_LANGINFO, SC_TIME_HANDLER): add/fix caching, fix obsolete autoconf macros. Sync with tk/unix/tcl.m4. * unix/configure.in: fix obsolete autoconf macros, sync gratuitous formatting/ordering differences with tk/unix/configure.in. * unix/Makefile.in: add CFLAGS to tclsh/tcltest link to make executable linking the same as during configure (needed to avoid loosing any linker relevant flags in CFLAGS, in particular flags that can't be in LDFLAGS). Avoid concurrent linking of tclsh and compiling of tclTestInit.o or xtTestInit.o during parallel make. (checkstubs, checkdoc, checkexports): dependency and Darwin fixes (dist): add new macosx files. * unix/tclLoadDyld.c (TclpDlopen): use NSADDIMAGE_OPTION_WITH_SEARCHING on second NSAddImage only. [Bug 1204237] (TclGuessPackageName): should not be MODULE_SCOPE. (TclpLoadMemory): ppc64 and endian (i386) fixes, add support for loading universal (fat) bundles from memory. * unix/tclUnixFCmd.c: * macosx/tclMacOSXFCmd.c: ppc64 and endian (i386) fixes. (TclMacOSXCopyFileAttributes): add support for new Tiger copyfile() API to enable copying of xattrs & ACLs by [file copy]. * generic/tcl.h: add Darwin specifc configure overrides for TCL_WIDE defines to support fat compiles of ppc and ppc64 at the same time, (replaces Darwin CVS fix by emoy, rdar://3693001). add/correct location of version numbers in macosx files. * generic/tclInt.h: clarify fat compile comment. * unix/tclUnixPort.h: add Darwin specifc configure overrides to support fat compiles, where configure runs only once for multiple architectures (replaces Darwin CVS fix by emoy, rdar://3693001). * macosx/tclMacOSXBundle.c: * macosx/tclMacOSXNotify.c: * unix/tclUnixNotfy.c: * unix/tclUnixPort.h: fix #include order to support compile time override of HAVE_COREFOUNDATION in tclUnixPort.h when building for ppc64 * macosx/Tcl.pbproj/default.pbxuser (new file): * macosx/Tcl.pbproj/jingham.pbxuser: * macosx/Tcl.pbproj/project.pbxproj: * macosx/Tcl.xcode/default.pbxuser (new file): * macosx/Tcl.xcode/project.pbxproj (new file): * macosx/Tcl.xcodeproj/default.pbxuser (new file): * macosx/Tcl.xcodeproj/project.pbxproj (new file): new/updated projects for Xcode 2.2 on 10.4, Xcode 1.5 on 10.3 & ProjectBuilder on 10.2, with native tcltest targets and support for universal (fat) compiles. * macosx/README: clarification/cleanup, document new Xcode projects and universal (fat) builds via CFLAGS (i.e. all of ppc ppc64 i386 at once). * unix/Makefile.in: * unix/aclocal.m4: * unix/configure.in: * unix/dltest/Makefile.in: * macosx/configure.ac (new file): add support for inclusion of unix/configure.in by macosx/configure.ac, allows generation of a config headers enabled configure script in macosx (required by Xcode projects). * macosx/GNUmakefile: rename from Makefile to avoid overwriting by configure run in tcl/macosx, add support for reusing configure cache, build target fixes, remove GENERIC_FLAGS override now handled by tcl.m4. * generic/tcl.decls: add Tcl_Main declaration as comment to avoid 'checkstubs' target complaining about it missing from stubs. * generic/regex.h: * generic/tclDate.c: * generic/tclEnv.c: * generic/tclGetDate.y: * generic/tclIOUtil.c: * generic/tclObj.c: * generic/tclStubInit.c: * generic/tclStubLib.c: * generic/tclPathObj.c: * generic/tclThreadAlloc.c: * generic/tclThreadStorage.c: * generic/tclTrace.c: * generic/tclVar.c: * generic/tommath.h: * tools/fix_tommath_h.tcl: * unix/tclUnixFCmd.c: ensure externally visible symbols not contained in stubs table are declared as MODULE_SCOPE (or as static if not used outside of own source file). These changes allow 'make checkstubs' to complete without error on Darwin with gcc 4. * generic/rege_dfa.c (getvacant): * generic/regexec.c (cfind): * generic/tclCompExpr.c (CompileSubExpr): * generic/tclNamesp.c (NamespaceEnsembleCmd): * unix/tclUnixChan.c (TclUnixWaitForFile): initialise variables to silence gcc 4 warnings. * generic/tclExecute.c (TclExecuteByteCode): fix unused variable warning when NO_WIDE_TYPE is defined. * generic/regguts.h: only #define NDEBUG if not already #defined. * unix/tclUnixNotfy.c: * macosx/tclMacOSXNotify.c: sync whitespace & comments. * unix/tclUnixPort.h: * win/tclWinPort.h: remove declaration of obsolete&unused TclpMutex API. * unix/configure: * unix/tclConfig.h.in: regen. file: 776baef933 check-in: [eac3630f72] user: das branch: trunk, size: 29834
2005-11-03
17:52
merge updates from HEAD file: 0ec6061f5a check-in: [d827b9cf1e] user: dgp branch: dgp-refactor, size: 29833
2005-11-02
23:26
ANSIfy file: 739ee4fc67 check-in: [19a0a6a899] user: dkf branch: trunk, size: 29828
2005-08-02
18:14
merge updates from HEAD file: 9235cafd80 check-in: [10feab7c07] user: dgp branch: kennykb-numerics-branch, size: 29926
2005-07-26
04:11
Merge updates from HEAD file: 7df6608344 check-in: [8351a734a6] user: dgp branch: dgp-refactor, size: 29927
2005-07-24
22:56
Getting more systematic about style file: a196ba483c check-in: [83d72c558c] user: dkf branch: trunk, size: 29922
2005-07-12
20:35
merged changes from HEAD file: adfeb7335c check-in: [5316ea45e0] user: kennykb branch: kennykb-numerics-branch, size: 29735
2005-07-05
15:09
Merge updates from HEAD file: ac03f7863f check-in: [78384c0116] user: dgp branch: dgp-refactor, size: 29732
2005-07-01
10:57
Protect against spurious wake-ups while waiting on the condition variable when tearing down the notifier thread [Bug# 1222872]. file: b6eb634e6c check-in: [ae91d8ec01] user: vasiljevic branch: core-8-4-branch, size: 29816
10:29
Protect against spurious wake-ups while waiting on the condition variable when tearing down the notifier thread [Bug# 1222872]. file: 20e1ca5fc9 check-in: [e5562a29ac] user: vasiljevic branch: trunk, size: 29734
2005-06-13
01:45
*** MERGE WITH HEAD *** (tag msofer-wcodes-20050611) file: 0aaf8f8787 check-in: [d666b09ed5] user: msofer branch: msofer-wcodes-branch, size: 29698
2005-06-07
10:26
Backport unix threading fix file: 330e9b824e check-in: [70cf3ac902] user: dkf branch: core-8-4-branch, size: 29769
2005-06-02
04:17
merge updates from HEAD file: d044bb0a20 check-in: [0d4fa0e558] user: dgp branch: dgp-refactor, size: 29696
2005-06-01
09:37
Make the threaded build compile again... file: 1d2a3d1e68 check-in: [745f7e4cf0] user: dkf branch: trunk, size: 29691
2005-05-31
11:37
The notifier thread is now created as joinable and properly joined in the Tcl_FinalizeNotifier. file: 7f4a2c64b0 check-in: [72d6038dca] user: vasiljevic branch: trunk, size: 29679
08:29
Cosmetic change (fixed identation in Tcl_FinalizeNotifier) file: 29573625bc check-in: [50492b52cd] user: vasiljevic branch: core-8-4-branch, size: 29761
08:18
Notifier thread is created as joinable. Attempt to solve the Tcl Bug #1082283. file: a5088a9f1a check-in: [9ba1d28bca] user: vasiljevic branch: core-8-4-branch, size: 29782
2005-05-21
15:10
Resynchronized with HEAD file: 0341541841 check-in: [96be07d7c8] user: kennykb branch: kennykb-numerics-branch, size: 29534
2005-05-16
19:23
merge updates from HEAD file: c589cbddab check-in: [03a5891876] user: dgp branch: dgp-refactor, size: 29530
2005-05-14
20:52
* macosx/tclMacOSXBundle.c: * unix/tclUnixInit.c: * unix/tcl.m4 (Darwin): made use of CoreFoundation API configurable and added test of CoreFoundation availablility to allow building on ppc64, replaced HAVE_CFBUNDLE by HAVE_COREFOUNDATION; test for availability of Tiger or later OSSpinLockLock API. * unix/tclUnixNotfy.c: * unix/Makefile.in: * macosx/tclMacOSXNotify.c (new file): when CoreFoundation is available, use new CFRunLoop based notifier: allows easy integration with other event loops on Mac OS X, in particular the TkAqua Carbon event loop is now integrated via a standard tcl event source (instead of TkAqua upon loading having to finalize the exsting notifier and replace it with its custom version). [Patch 1202052] * tests/unixNotfy.test: don't run unthreaded tests on Darwin since notifier may be using threads even in unthreaded core. * unix/tclUnixPort.h: * unix/tcl.m4 (Darwin): test for thread-unsafe realpath durning configure, as Darwin 7 and later realpath is threadsafe. * macosx/tclMacOSXBundle.c: * unix/tclLoadDyld.c: * unix/tclUnixInit.c: fixed gcc 4.0 warnings. * unix/configure: autoconf-2.13 file: 3423e87937 check-in: [c4f7ce27bf] user: das branch: core-8-4-branch, size: 29614
20:46
* generic/tclInt.decls: * generic/tclTest.c: * generic/tclUtil.c: * win/tclWin32Dll.c: fixed link error due to direct access by tclTest.c to the MODULE_SCOPE tclPlatform global: renamed existing TclWinGetPlatform() accessor to TclGetPlatform() and moved it to generic code so that it can be used by on all platforms where MODULE_SCOPE is enforced. * macosx/tclMacOSXBundle.c: * unix/tclUnixInit.c: * unix/tcl.m4 (Darwin): made use of CoreFoundation API configurable and added test of CoreFoundation availablility to allow building on ppc64, replaced HAVE_CFBUNDLE by HAVE_COREFOUNDATION; test for availability of Tiger or later OSSpinLockLock API. * unix/tclUnixNotfy.c: * unix/Makefile.in: * macosx/tclMacOSXNotify.c (new file): when CoreFoundation is available, use new CFRunLoop based notifier: allows easy integration with other event loops on Mac OS X, in particular the TkAqua Carbon event loop is now integrated via a standard tcl event source (instead of TkAqua upon loading having to finalize the exsting notifier and replace it with its custom version). [Patch 1202052] * tests/unixNotfy.test: don't run unthreaded tests on Darwin since notifier may be using threads even in unthreaded core. * unix/tclUnixPort.h: * unix/tcl.m4 (Darwin): test for thread-unsafe realpath durning configure, as Darwin 7 and later realpath is threadsafe. * macosx/Makefile: enable configure caching. * unix/configure.in: wrap tclConfig.h header in #ifndef _TCLCONFIG so that it can be included more than once without warnings from gcc4.0 (as happens e.g. when including both tclInt.h and tclPort.h) * macosx/tclMacOSXBundle.c: * unix/tclUnixChan.c: * unix/tclLoadDyld.c: * unix/tclUnixInit.c: fixed gcc 4.0 warnings. * unix/configure: autoconf-2.59 * unix/tclConfig.h.in: autoheader-2.59 * generic/tclIntDecls.h: * generic/tclIntPlatDecls.h: * generic/tclStubInit.c: make genstubs file: a87f23dd63 check-in: [7ff2693241] user: das branch: trunk, size: 29526
2005-05-10
18:33
Merged kennykb-numerics-branch back to the head; TIPs 132 and 232 file: aa457ec8d2 check-in: [1cc2336920] user: kennykb branch: trunk, size: 29367
2005-05-05
17:55
Merged with HEAD file: 70c075b12d check-in: [b77c9a87c6] user: kennykb branch: kennykb-numerics-branch, size: 29371
2005-05-04
17:34
merge updates from HEAD file: 8ccf137743 check-in: [edf99c3880] user: dgp branch: dgp-refactor, size: 29367
2005-04-30
11:47
* unix/tclUnixNotfy.c: applied dkf's tkMacOSXNotify.c cleanup changes. file: ff06cee7f0 check-in: [73b282ccef] user: das branch: trunk, size: 29363
2005-04-29
22:39
Merge updates from HEAD file: 64990c92e0 check-in: [ac63d218d8] user: dgp branch: dgp-refactor, size: 29996
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: c80e094880 check-in: [74b7355f70] user: das branch: core-8-4-branch, size: 29451
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: 3a80d27aa9 check-in: [20a693c229] user: das branch: trunk, size: 29992
2005-02-02
15:53
sync with head, add TclStrToD (TIP #132) file: e288585a48 check-in: [82ce6a0c40] user: kennykb branch: kennykb-numerics-branch, size: 29949
2005-01-24
21:43
merge updates from HEAD file: d240390fab check-in: [3e37b6975d] user: dgp branch: dgp-refactor, size: 29945
2005-01-21
22:24
* generic/tclStubInit.c: Regenerated the stubs support code from * generic/tclDecls.h: the modified tcl.decls (TIP #233, see below). * doc/GetTime.3: Implemented TIP #233, i.e. the * generic/tcl.decls: 'Virtualization of Tcl's Sense of Time'. * generic/tcl.h: Declared, implemented, and documented the * generic/tclInt.h: specified new API functions. Moved the * unix/tclUnixEvent.c: native (OS) access to time information * unix/tclUnixNotfy.c: into standard handler functions. Inserted * unix/tclUnixTime.c: hooks calling on the handlers where native * win/tclWinNotify.c: access was done before, and where scaling * win/tclWinTime.c: between domains (real/virtual) is required. file: c0e60dc62d check-in: [8e9949daa2] user: andreas_kupries branch: trunk, size: 29953
2004-12-09
23:00
Merge updates from HEAD file: 5b930627be check-in: [24873008cc] user: dgp branch: dgp-refactor, size: 29275
2004-12-08
18:24
merged with kennykb-numerics-branch-20041208 file: 5c569259ed check-in: [ab2eb12a79] user: kennykb branch: kennykb-numerics-branch, size: 29279
2004-12-07
00:07
* unix/tclUnixNotfy.c (NotifierThreadProc): init numFdBits [Bug 1079286] file: bd6027acad check-in: [5af173439a] user: hobbs branch: core-8-4-branch, size: 29254
00:01
* unix/tclUnixNotfy.c (NotifierThreadProc): init numFdBits [Bug 1079286] file: d54c616695 check-in: [c5a7563049] user: hobbs branch: trunk, size: 29273
2004-11-24
20:19
took out redundant memcpy from tclUnixNotfy.c file: 31393466a5 check-in: [f0e5a5da8d] user: kennykb branch: core-8-4-branch, size: 29268
20:12
* unix/tcl.m4 (SC_ENABLE_THREADS): Corrected bad check for 3-argument readdir_r [Bug 1001325]. * unix/configure: Regenerated. * unix/tclUnixNotfy.c: Corrected all uses of 'select' to manage their masks using the FD_CLR, FD_ISSET, FD_SET, and FD_ZERO macros rather than bit-whacking that failed under Solaris-Sparc-64. [Bug 1071807] file: 021a5097b2 check-in: [aeeefc88e1] user: kennykb branch: trunk, size: 29271
19:49
* unix/tcl.m4 (SC_ENABLE_THREADS): Corrected bad check for 3-argument readdir_r [Bug 1001325]. * unix/configure: Regenerated. * unix/tclUnixNotfy.c: Corrected all uses of 'select' to manage their masks using the FD_CLR, FD_ISSET, FD_SET, and FD_ZERO macros rather than bit-whacking that failed under Solaris-Sparc-64. [Bug 1071807] file: 702c4c5c6e check-in: [8e08d8ca27] user: kennykb branch: core-8-4-branch, size: 29367
2004-09-08
23:02
Merge updates from HEAD file: cf6710edf2 check-in: [dff8728918] user: dgp branch: dgp-refactor, size: 28988
2004-07-16
17:38
* unix/tclUnixNotfy.c (NotifierThreadProc): Accepted Joe Mistachkin's patch for [Tcl SF Bug 990500], properly closing the notifier thread when its exits. file: 130d9681da check-in: [e3d114f623] user: andreas_kupries branch: trunk, size: 28996
17:24
* unix/tclUnixNotfy.c (NotifierThreadProc): Accepted Joe Mistachkin's patch for [Tcl SF Bug 990500], properly closing the notifier thread when its exits. file: d6fd0cd945 check-in: [7030a54125] user: andreas_kupries branch: core-8-4-branch, size: 28993
2004-06-22
13:08
Integrated fix for Tcl Bug #770053 from core-8-4-branch file: 6055a96609 check-in: [9f739d40a1] user: vasiljevic branch: trunk, size: 28966
11:55
Corrected Tcl Bug #770053 file: 3eda92877b check-in: [450a52effb] user: vasiljevic branch: core-8-4-branch, size: 28963
2004-04-09
20:57
Merge updates from HEAD file: ccb04f3832 check-in: [5b5c8133e5] user: dgp branch: dgp-refactor, size: 28963
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: 13641b7b32 check-in: [2e5b18c85c] user: dgp branch: trunk, size: 28959
2004-02-07
05:47
Merge updates from HEAD Note that this branch currently does not fully support the new {expand} syntax. Updates to TclEvalScriptTokens and TclCompileScriptTokens are still to come. file: f3fab41107 check-in: [beeeb45bbf] user: dgp branch: dgp-refactor, size: 28984
2003-12-24
04:18
All uses of 'panic' (the macro) changed to 'Tcl_Panic' (the function). The #define of panic in tcl.h clearly states it is deprecated in the comments. [Patch 865264] file: 7bf8b560dd check-in: [524a53e3b3] user: davygrvy branch: trunk, size: 28985
2003-08-07
21:35
Merged changes from HEAD file: 7a8304f150 check-in: [9658ec795f] user: dgp branch: dgp-refactor, size: 28956
2003-07-16
22:10
* unix/tclUnixNotfy.c (NotifierThreadProc): correct size of found and word vars from int to long. [Bug 767578] (hgo) file: c5d4f2cd25 check-in: [d051837812] user: hobbs branch: trunk, size: 28954
22:09
* unix/tclUnixNotfy.c (NotifierThreadProc): correct size of found and word vars from int to long. [Bug 767578] (hgo) file: 0bd6c92e8c check-in: [51f4c501bd] user: hobbs branch: core-8-4-branch, size: 28958
2003-03-21
03:24
* generic/tclInt.h (tclOriginalNotifier): * generic/tclStubInit.c (tclOriginalNotifier): * mac/tclMacNotify.c (Tcl_SetTimer,Tcl_WaitForEvent): * unix/tclUnixNotfy.c (Tcl_SetTimer,Tcl_WaitForEvent, Tcl_CreateFileHandler,Tcl_DeleteFileHandler): * win/tclWinNotify.c (Tcl_SetTimer,Tcl_WaitForEvent): Some linkers apparently use a different representation for a pointer to a function within the same compilation unit and a pointer to a function in a different compilation unit. This causes checks like those in the original notifier procedures to fall into infinite loops. The fix is to store pointers to the original notifier procedures in a struct defined in the same compilation unit as the stubs tables, and compare against those values. [Bug 707174] file: a7e7575326 check-in: [02b5df7fe1] user: dgp branch: core-8-4-branch, size: 28947
03:23
* generic/tclInt.h (tclOriginalNotifier): * generic/tclStubInit.c (tclOriginalNotifier): * mac/tclMacNotify.c (Tcl_SetTimer,Tcl_WaitForEvent): * unix/tclUnixNotfy.c (Tcl_SetTimer,Tcl_WaitForEvent, Tcl_CreateFileHandler,Tcl_DeleteFileHandler): * win/tclWinNotify.c (Tcl_SetTimer,Tcl_WaitForEvent): Some linkers apparently use a different representation for a pointer to a function within the same compilation unit and a pointer to a function in a different compilation unit. This causes checks like those in the original notifier procedures to fall into infinite loops. The fix is to store pointers to the original notifier procedures in a struct defined in the same compilation unit as the stubs tables, and compare against those values. [Bug 707174] file: 53a150eb48 check-in: [2128edd984] user: dgp branch: trunk, size: 28943
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: de726a9f21 check-in: [ac07f034c7] user: das branch: trunk, size: 28817
2002-08-20
20:25
merged with trunk at tag macosx-8-4-merge-2002-08-20-trunk file: e49d44ecfa check-in: [354986d9c3] user: das branch: macosx-8-4-branch, size: 28822
2001-11-28
17:58
* NOTES: New file. Read here about the new modularization macros, interdependencies, implications, etc. * static.sizes.html: New file. Report on the cuts achieved so far. Regarding the object files only the files which did change in size are reported. Usage of the MODULAR_TCL macro currently cuts about 17 % of the code (measured using strip'ped object files and libraries). * Changed files so far .. [cut, see changelog for full list] * Working on modularization of the tcl core. *************************** **** mod-8-3-4-branch **** *************************** file: 267e4146af check-in: [052bbd8095] user: andreas_kupries branch: mod-8-3-4-branch, size: 29098
2001-10-15
09:13
First Checkin of Mac OS X support for Tcl. file: e831b75393 check-in: [eba6ee55b4] user: wolfsuit branch: macosx-8-4-branch, size: 28827
2000-08-08
19:03
Deleted: Created branch tclpro-1-5-0-synthetic check-in: [e979569c4f] user: cvs2fossil branch: tclpro-1-5-0-synthetic, size: 0
2000-04-24
23:32
* unix/tclUnixNotfy.c (Tcl_FinalizeNotifier, NotifierThreadProc): added write of 'q' into triggerPipe for notifier in threaded case, so that Tcl doesn't hang when children are still running [Bug: 4139] * unix/tclUnixThrd.c (Tcl_MutexLock): minor comment fixes. file: 744ab8e4fc check-in: [b63233fd7f] user: hobbs branch: trunk, size: 28819
2000-04-09
16:04
2000-04-08 Andreas Kupries <[email protected]> * Overall change: Definition of a public API for the creation of new threads. * generic/tclInt.h (line 1802f): Removed the definition of 'TclpThreadCreate'. (line 793f) Removed the definition of 'Tcl_ThreadCreateProc'. * generic/tcl.h (line 388f): Readded the definition of 'Tcl_ThreadCreateProc'. Added Win32 stuff send in by David Graveraux <[email protected]> to that too (__stdcall, ...). Added macros for the default stacksize and allowed flags. * generic/tcl.decls (line 1356f): Added definition of 'Tcl_CreateThread', slot 393 of the stub table. Two new arguments in the public API, for stacksize and flags. * win/tclWinThrd.c: * mac/tclMacThrd.c: Renamed TclpThreadCreate to Tcl_CreateThread, added handling of the stacksize. Flags are currently ignored. * unix/tclUnixThrd.c: See above, but handles joinable flag. Ignores the specified stacksize if the macro HAVE_PTHREAD_ATTR_SETSTACKSIZE is not defined. * generic/tclThreadTest.c (line 363): See below. * unix/tclUnixNotfy.c (line 210): Adapted to the changes above. Uses default stacksize and no flags now. * unic/tcl.m4 (line 382f): Added a check for 'pthread_attr_setstacksize' to detect platforms not implementing this feature of pthreads. If it is implemented, configure will define the macro HAVE_PTHREAD_ATTR_SETSTACKSIZE (See unix/tclUnixThrd.c too). * doc/Thread.3: Added Tcl_CreateThread and its arguments to the list of described functions. Removed stuff about not providing a public C-API for thread-creation. file: ee8f2dc6bf check-in: [51f6c167f6] user: kupries branch: trunk, size: 28138
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: 862ecf74cd check-in: [861e460865] user: kupries branch: trunk, size: 28087
2000-01-21
02:26
* unix/tclUnixNotfy.c (Tcl_InitNotifier): added cast for tsdPtr file: 72e2541d6b check-in: [e486883673] user: hobbs branch: trunk, size: 28084
1999-10-30
11:09
* unix/Makefile.in: purify has to use -best-effort to instrument * unix/tclUnixPipe.c: fixed mem leak in TclpCreateProcess when doing alloc between vfork and execvp. * unix/tclUnixTest.c: fixed mem leak in findexecutable test command * unix/tclUnixNotfy.c: fixed event/io threading problems by making triggerPipe non-blocking file: b5ad25add7 check-in: [07e490e23d] user: hobbs branch: core-8-2-1-branch, size: 28073
1999-10-21
02:18
* unix/tclUnixNotfy.c: fixed event/io threading problems by making triggerPipe non-blocking file: 3797093681 check-in: [43510a5f53] user: hobbs branch: trunk, size: 28069
1999-07-02
06:05
Added hook points to the notifier Updated Xt tests to use new Tcl_SetNotifier file: 7a5078019f check-in: [b68062ca89] user: welch branch: trunk, size: 27897
1999-06-10
04:27
* generic/regexec.c: * unix/tclUnixNotfy.c: lint file: 4bb9a027dc check-in: [3807220c1a] user: stanton branch: trunk, size: 27411
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: 23233f0557 check-in: [f3b32fb71c] user: stanton branch: trunk, size: 27461
1999-04-09
23:29
Fix bug 1700, deadlock in notifier with threads enabled on Unix. file: b530405bfb check-in: [067a0da5bb] user: redman branch: core-8-1-branch-old, size: 27465
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: ab90640924 check-in: [1b663177f8] user: stanton branch: core-8-1-branch-old, size: 27314
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: 9509e0da5e check-in: [37d1a96b18] user: stanton branch: core-8-1-branch-old, size: 26898
1999-03-10
06:49
Integrated stubs mechanism from 8.0 into 8.1 file: bfd046d043 check-in: [ddb86b8d93] user: stanton branch: core-8-1-branch-old, size: 26898
1999-03-09
02:37
* generic/tcl.h: Moved Tcl_Mutex, etc. macros above the inclusion of tclDecls.h to avoid macro conflicts. * generic/tclInt.h: * generic/regc_color.c: * generic/regcomp.c: * generic/tclCmdIL.c: * generic/tclCmdAH.c: * generic/tclIOCmd.c: * generic/tclParse.c: * generic/tclStringObj.c: * unix/tclUnixNotfy.c: Cleaned up various compiler warnings, eliminated UCHAR bugs. * unix/tclUnixNotfy.c: * unix/tclUnixThrd.c: * generic/tclThreadTest.c: * mac/tclMacThrd.c: Changed TclpCondition*() to Tcl_Condition*(). file: ea5a5ce9d3 check-in: [a1684dfa8e] user: stanton branch: dev-8-1-stubs-branch, size: 26902
1998-12-12
01:36
Minor change to Lock Declarations to use TCL_DECLARE_MUTEX macro, published in tcl.h. file: aac9649190 check-in: [c778c9ef5e] user: lfb branch: core-8-1-branch-old, size: 26917
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: 07661d029e check-in: [09f356baa2] user: stanton branch: core-8-1-branch-old, size: 26920
1998-12-01
05:01
* unix/tclUnixNotfy.c (Tcl_WaitForEvent): Fixed hang that occurs when trying to close a pipe that is currently being waited on by the notifier thread. [Bug: 607] * unix/tclUnixFCmd.c (GetPermissionsAttribute): Increase size of returnString buffer to avoid overflow. * generic/tclThreadTest.c (TclThreadSend): Fixed memory leak due to use of TCL_VOLATILE instead of TCL_DYNAMIC. * generic/tclThread.c (TclRememberSyncObject): Fixed memory leak caused by failure to reuse condition variables. * unix/tclUnixNotfy.c: (Tcl_AlertNotifier, Tcl_WaitForEvent, NotifierThreadProc, Tcl_InitNotifier): Fixed race condition caused by incorrect use of condition variables when sending messages between threads.. [Bug: 607] * generic/tclTestObj.c (TeststringobjCmd): MAX_STRINGS was off by one so the strings array was too small. * generic/tclCkalloc.c (Tcl_DbCkfree): Moved mutex lock so ValidateMemory is done inside the mutex to avoid a race condition when validate_memory is enabled. [Bug: 880] file: f1d9ca8d06 check-in: [27f98f73b7] user: stanton branch: core-8-1-branch-old, size: 26919
1998-11-11
04:54
lots of lint wrapped mutex declarations in ifdefs to avoid compiler warnings file: 759bf6b7b5 check-in: [9535a849c1] user: stanton branch: core-8-1-branch-old, size: 26491
1998-09-24
23:58
merging changes from 8.0.3 into 8.1a2 file: 74fc79d33a check-in: [1c3c1ab19f] user: stanton branch: core-8-1-branch-old, size: 26466
1998-09-21
23:39
Added contents of Tcl 8.1a2 file: e5fe5bb10f check-in: [8c56dc8868] user: stanton branch: core-8-1-branch-old, size: 26441
1998-09-14
18:39
Replaced SCCS strings, fixed binary files file: f663c89483 check-in: [196f92fd17] user: stanton branch: trunk, size: 13489
1998-03-26
14:56
Added: Initial revision file: 5d2621fd44 check-in: [f86c34e38d] user: rjohnson branch: trunk, size: 13468