Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
History of file generic/tclIO.h at check-in 8419a7023da62641
|
2026-08-10
| ||
| 09:58 | Consolidate use of ©. Indenting file: [476e4bb2db] check-in: [82a75b7cb9] user: jan.nijtmans branch: main, size: 11828 | |
|
2026-06-13
| ||
| 15:56 | Indentation corrections file: [2755019bd3] check-in: [5728419ce1] user: dkf branch: main, size: 11830 | |
|
2025-09-26
| ||
| 18:53 | merge trunk file: [b08432507c] check-in: [f0dcb3e615] user: dkf branch: c-std-update, size: 11936 | |
|
2025-09-10
| ||
| 09:12 | Turn some things into enums that really should have been that all along file: [1446ebda2c] check-in: [e646927e1f] user: dkf branch: main, size: 11830 | |
|
2025-08-17
| ||
| 11:25 | More bools and pieces file: [491553b9bf] check-in: [28a7d957c7] user: dkf branch: c-std-update, size: 12061 | |
|
2025-07-02
| ||
| 10:17 | Other enums file: [2bfdd02a7f] check-in: [8ded98eba3] user: dkf branch: enums-3, size: 11826 | |
|
2025-03-02
| ||
| 15:48 | Bunch of whitespace basic fixes. file: [77379b3b8c] check-in: [809d595b56] user: dkf branch: main, size: 11955 | |
|
2025-01-24
| ||
| 14:25 | Most remaining non-public numeric flag-like constants are now enums. file: [b22b9ceff4] check-in: [82d789298b] user: dkf branch: enums-2, size: 11970 | |
|
2024-10-25
| ||
| 09:56 | Merge 9.0 (9.0.0 release) file: [a17588384a] check-in: [8523e01f8f] user: jan.nijtmans branch: tip-626, size: 11955 | |
|
2024-09-14
| ||
| 11:06 | Merge [1aa26f02e23bd46b]: size_t -> Tcl_Size (twice). file: [64a8523b63] check-in: [1b9101ce64] user: pooryorick branch: unchained, size: 12329 | |
|
2024-09-09
| ||
| 18:45 | size_t -> Tcl_Size (twice) file: [14f49e897e] check-in: [1aa26f02e2] user: jan.nijtmans branch: main, size: 12130 | |
| 18:37 | size_t -> Tcl_Size, for maximum compatibility with Tcl 8.6 file: [3e3c6c1c9f] check-in: [5e808612dd] user: jan.nijtmans branch: core-8-branch, size: 12128 | |
|
2024-08-29
| ||
| 09:17 | Merge [612cbe4899eb25a2]: Simpler commenting of Tcl_ChannelType instances; make zip channel type const. file: [e71da4d1de] check-in: [2468f77a5a] user: pooryorick branch: unchained, size: 12327 | |
| 08:23 | Merge [f6c559b364487a9d]: Space before tab is an extremely unlikely to be correct indentation pattern. file: [8072148400] check-in: [8a11a89576] user: pooryorick branch: unchained, size: 12327 | |
|
2024-08-28
| ||
| 16:33 | Merge [3a60363aa10ef993]: Clean up a lot of whitespace issues. file: [28e017608d] check-in: [627781a6db] user: pooryorick branch: unchained, size: 12331 | |
|
2024-08-27
| ||
| 21:31 | Merge [835b1a5566c28af4]: More whitespace cleanup. file: [389fdb1e1d] check-in: [fc7d06c8b8] user: pooryorick branch: unchained, size: 12332 | |
|
2024-08-22
| ||
| 13:51 | Merge [349fb3764df35a16], Move CHANNEL_*BUFFERED (internal) flags to higher bits: prevent any possibility for conflicts with public flags. TCL_ENCODING_STOPONERROR|TCL_ENCODING_NO_TERMINATE|TCL_ENCODING_CHAR_LIMIT. file: [d8e1ea4b1d] check-in: [a080b0a062] user: pooryorick branch: unchained, size: 12332 | |
| 10:49 | Whitespace changes file: [bcae252a50] check-in: [dea1b5bd08] user: jan.nijtmans branch: core-8-branch, size: 12126 | |
|
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: [3f8aec4d5f] check-in: [d8a3450f12] user: pooryorick branch: unchained, size: 12330 | |
|
2024-06-11
| ||
| 07:52 | Merge 9.0 file: [c7b9ffd801] check-in: [121c2ead8c] user: jan.nijtmans branch: tip-626, size: 11953 | |
|
2024-06-07
| ||
| 11:31 | Merge 9.0 file: [a8a830edbe] check-in: [84ae5008cc] user: jan.nijtmans branch: tip-626, size: 11956 | |
|
2024-06-04
| ||
| 15:35 | Space before tab is an extremely unlikely to be correct indentation pattern file: [425ffaa9e8] check-in: [f6c559b364] user: dkf branch: main, size: 12124 | |
|
2024-05-21
| ||
| 22:06 | Merge 9.0 file: [32ed9e4d6f] check-in: [e906cead78] user: jan.nijtmans branch: tip-626, size: 11962 | |
|
2024-05-13
| ||
| 15:41 | Clean up a lot of small whitespace issues This is the dullest commit ever. Sorry. file: [52182f0743] check-in: [3a60363aa1] user: dkf branch: main, size: 12129 | |
|
2024-05-10
| ||
| 15:40 | More whitespace cleanup file: [12d1521459] check-in: [835b1a5566] user: dkf branch: main, size: 12130 | |
|
2024-04-23
| ||
| 16:06 | Hmm, something is broken. Leaving this here but this commit is definitely wrong somehow file: [308d5d1125] check-in: [b356268e32] user: dkf branch: tidy-indentation, size: 12010 | |
|
2024-04-18
| ||
| 15:06 | Tidy up some indentation and other little code style issues file: [24a44461c3] check-in: [cb11914788] user: dkf branch: tidy-indentation, size: 12019 | |
|
2024-04-01
| ||
| 00:23 | Fix for [ac7592e73c10d04b], Idle events are never processed when a "writable" handler on a nonblocking channel dominates the event queue. file: [6eee08028f] check-in: [b2d083e9e0] user: pooryorick branch: bug-ac7592e73c10d04b, size: 12057 | |
|
2024-01-30
| ||
| 17:07 | Tweaking indentation of code; really unimportant... file: [199bb7a636] check-in: [bb72806960] user: dkf branch: dkf-indent-tweak, size: 12128 | |
|
2024-01-27
| ||
| 22:05 | Now passing tests file: [568115281b] check-in: [fbcb7c7022] user: dkf branch: oo-properties-c-impl, size: 12125 | |
|
2023-12-13
| ||
| 14:24 | Merge 9.0 file: [bf8af02f17] check-in: [0868ee7333] user: jan.nijtmans branch: tip-626, size: 11962 | |
|
2023-09-25
| ||
| 08:51 | Move CHANNEL_*BUFFERED (internal) flags to higher bits: prevent any possibility for conflicts with public flags TCL_ENCODING_STOPONERROR|TCL_ENCODING_NO_TERMINATE|TCL_ENCODING_CHAR_LIMIT file: [3959d8b808] check-in: [f14a94a19b] user: jan.nijtmans branch: core-8-branch, size: 12130 | |
|
2023-05-03
| ||
| 11:31 | Merge [842b3b3949]. file: [8c16d0a346] check-in: [c3278e757b] user: pooryorick branch: unchained, size: 11960 | |
| 04:03 | Changed CHANNEL_PROFILE_* to ENCODING_PROFILE_* and moved out of tclIO.h. See below. For whatever reason, these macros were renamed and moved to tclIO.h post-660. This is inappropriate as those macros deal with *encoding* flags, not *channel* flags and have relevance outside of I/O making their renaming inappropriate. Further putting them in tclIO.h forces inclusion of that header in modules that do not otherwise need that header. file: [15684f8ec9] check-in: [b9aee6a781] user: apnadkarni branch: main, size: 12128 | |
| 03:31 | Changed CHANNEL_PROFILE_* to ENCODING_PROFILE_* and moved out of tclIO.h. See below. For whatever reason, these macros were renamed and moved to tclIO.h post-660. This is inappropriate as those macros deal with *encoding* flags, not *channel* flags and have relevance outside of I/O making their renaming inappropriate. Further putting them in tclIO.h forces inclusion of that header in modules that do not otherwise need that header. file: [7ce4892616] check-in: [8cf18cec8c] user: apnadkarni branch: core-8-branch, size: 12078 | |
|
2023-04-30
| ||
| 18:36 | Remove all code that is conditioned on TCL_MAJOR_VERSION. file: [92d7bcd85e] check-in: [5037505a02] user: pooryorick branch: unchained, size: 12279 | |
|
2023-04-17
| ||
| 13:30 | Merge trunk [31788d9a4b] and resolve conflicts. file: [45b59ab534] check-in: [04c47a8fd6] user: pooryorick branch: trunk-encodingdefaultstrict, size: 12475 | |
| 10:58 | Merge trunk [498ef65f88] and resolve conflicts. file: [b1f05a9eac] check-in: [254c2ccb8c] user: pooryorick branch: trunk-encodingdefaultstrict, size: 12338 | |
|
2023-04-14
| ||
| 10:27 | Merge 8.7 file: [b22413c67b] check-in: [8b54565968] user: jan.nijtmans branch: tip-656-simpl, size: 12483 | |
| 07:04 | Merge tip-657 file: [0b78694c77] check-in: [6b8e4186b9] user: jan.nijtmans branch: tip-659, size: 12474 | |
|
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: [d354de4686] check-in: [d65da06a77] user: pooryorick branch: main, size: 12447 | |
| 13:30 | Correct spelling errors in comments and documentation, but also a non-comment corrections in history.tcl and tcltest.test. file: [ae624b0adf] check-in: [aca8de0aeb] user: pooryorick branch: core-8-branch, size: 12397 | |
| 09:35 | Correct spelling errors in comments and documentation, but also non-comment corrections in history.tcl and tcltest.test. file: [881e9676a8] check-in: [ee3df4e647] user: pooryorick branch: core-8-6-branch, size: 11856 | |
|
2023-03-31
| ||
| 22:07 | Rebase to tip-657 file: [76876c64a0] check-in: [8dce12a921] user: jan.nijtmans branch: tip-659, size: 12473 | |
|
2023-03-29
| ||
| 08:54 | Merge 8.7. Some size_t -> Tcl_Size in internal header files file: [da6a2529d5] check-in: [8a54121928] user: jan.nijtmans branch: main, size: 12446 | |
|
2023-03-23
| ||
| 17:51 | First shot at TIP #659 implementation. Not complete yet (many parts still missing!!!) file: [975383583f] check-in: [37de4d5695] user: jan.nijtmans branch: tip-659, size: 12459 | |
|
2023-03-22
| ||
| 15:35 | Simplify TIP #656 implementation. This also changes the TCL_ENCODING_PROFILE_* macro's to the same values as in #TIP #657 (so, those changes make no sense before TIP #657 is accepted) file: [0143c419fa] check-in: [303ca5c8ca] user: jan.nijtmans branch: tip-656-simpl, size: 12482 | |
| 12:02 | Merge 8.7 file: [db76ecb257] check-in: [f8d60e395f] user: jan.nijtmans branch: main, size: 12432 | |
| 11:44 | Move (TCL_ENCODING_PROFILE_MASK|GET|SET) from tcl.h to tclIO.h, since those are not public. Some formatting. file: [d38a0e0be9] check-in: [d5cda795aa] user: jan.nijtmans branch: core-8-branch, size: 12396 | |
|
2023-03-20
| ||
| 22:53 | Proposed fix for [154ed7ce56]: Tcl 9: [gets] on -strictencoding 1 configured channel. Extracted from TIP #657 branch (better keeping bug-fix separate from enhancements) file: [374732554e] check-in: [a338fcd542] user: jan.nijtmans branch: bug-154ed7ce56, size: 12077 | |
|
2023-03-16
| ||
| 20:35 | Merge tip-656-tcl9 file: [3ff8f9e759] check-in: [218c6465d1] user: jan.nijtmans branch: tip-657, size: 12113 | |
| 18:11 | Merge 9.0 file: [212aa84260] check-in: [a16366941d] user: apnadkarni branch: tip-656-tcl9, size: 12198 | |
| 17:29 | Merge 8.7 file: [5454777e97] check-in: [b6b55639ae] user: apnadkarni branch: tip-656, size: 12162 | |
|
2023-03-15
| ||
| 11:37 | Further fix for issue [ea69b0258a9833cb], crash when using a channel transformation on TCP client socket. file: [7d27c0adb2] check-in: [a76dee9eb4] user: pooryorick branch: main, size: 12481 | |
| 08:42 | Further fix for issue [ea69b0258a9833cb], crash when using a channel transformation on TCP client socket. file: [8a6a4fc098] check-in: [26a20919fb] user: pooryorick branch: core-8-branch-bug-ea69b0258a9833cb6, size: 12445 | |
|
2023-03-14
| ||
| 20:27 | Further fix for issue [ea69b0258a9833cb], crash when using a channel transformation on TCP client socket. file: [fd8b66caef] check-in: [8aee50448c] user: pooryorick branch: bug-ea69b0258a9833cb6, size: 11855 | |
|
2023-03-01
| ||
| 07:19 | Merge 9.0 file: [1c1dc5e901] check-in: [eb12679c83] user: apnadkarni branch: tip-656-tcl9, size: 12061 | |
|
2023-02-28
| ||
| 16:58 | Merge 9.0 file: [4c1d4aa5c1] check-in: [689b3f3457] user: jan.nijtmans branch: make-strict-the-default, size: 12165 | |
| 15:39 | Merge 8.7 file: [6f863cce82] check-in: [99cfb068bb] user: apnadkarni branch: tip-656, size: 12025 | |
| 13:36 | Merge 8.7 file: [3533804e4e] check-in: [5b43eb89dd] user: jan.nijtmans branch: main, size: 12344 | |
| 13:33 | Put back testcase io-52.20, and re-fix [4a7397e0b3] file: [0e561bbc66] check-in: [9c0db3d168] user: jan.nijtmans branch: core-8-branch, size: 12308 | |
|
2023-02-25
| ||
| 03:03 | Compiles and runs. Tests still to be ported. file: [6d860de757] check-in: [c057c79d2b] user: apnadkarni branch: tip-656-tcl9, size: 11976 | |
|
2023-02-22
| ||
| 17:18 | First bugfix file: [77412f198b] check-in: [0c53a7c842] user: jan.nijtmans branch: jan-encoding-profile, size: 12443 | |
| 17:07 | port jan-encoding-profile to 9.0 file: [f89d1db6d3] check-in: [900d53d140] user: jan.nijtmans branch: jan-encoding-profile-for-9.0, size: 12479 | |
|
2023-02-19
| ||
| 21:46 | Experiment: Make "strict" the default for 9.0. Some trivial testcases are adapted, but the crucial ones are left as-is. Warning: If your are a supporter of "making -strict the default for 9.0", then this branch is (not) for you. You might be disappointer! file: [f4a9fddf5c] check-in: [0a3ee3a1da] user: jan.nijtmans branch: make-strict-the-default, size: 12080 | |
|
2023-02-17
| ||
| 19:12 | Make a start implementing "replace" file: [ddcb2635c5] check-in: [8965167358] user: jan.nijtmans branch: jan-encoding-profile, size: 12440 | |
|
2023-02-11
| ||
| 01:51 | Eliminate TCL_ENCODING_{STRICT,NOCOMPLAIN} file: [a6d4bbde39] check-in: [7a9d0fe95b] user: apnadkarni branch: apn-encoding-profile, size: 11940 | |
|
2023-02-10
| ||
| 17:07 | Phase out (almost) STRICT and NOCOMPLAIN flags. file: [43cae99883] check-in: [4a2770b48e] user: apnadkarni branch: apn-encoding-profile, size: 12158 | |
|
2023-01-25
| ||
| 00:34 | Merge trunk. file: [d29d936f71] check-in: [bc59d060c6] user: pooryorick branch: trunk-encodingdefaultstrict, size: 12253 | |
|
2023-01-23
| ||
| 20:41 | Rename [encoding convert*] option "-nocomplain"/"-ignore" to "-pass", and "-nocomplainencoding"/"-encodingignore" to "-encodingpass" file: [c5893ae0ab] check-in: [ddc84c7563] user: pooryorick branch: trunk-encodingdefaultorig, size: 12170 | |
|
2023-01-22
| ||
| 23:35 | Merge 8.7 file: [933b0a220a] check-in: [57baf6fc1f] user: jan.nijtmans branch: main, size: 12259 | |
|
2023-01-19
| ||
| 17:01 | New proposal: Allow "-strict" immediately before or after "-failindex var". file: [d2c0826e4d] check-in: [86893e2b40] user: jan.nijtmans branch: bug-a31caff057, size: 12223 | |
|
2022-12-28
| ||
| 23:35 | Unify TCL_ENCODING_STRICT and TCL_ENCODING_NOCOMPLAIN, and make strict encoding conformance the default everywhere. file: [1d769650a5] check-in: [8252783124] user: pooryorick branch: trunk-encodingdefaultstrict, size: 12172 | |
|
2022-11-23
| ||
| 00:09 | Merge 8.7 file: [03231fb698] check-in: [3033bfee19] user: jan.nijtmans branch: main, size: 12176 | |
|
2022-11-20
| ||
| 23:22 | Merge 8.7 file: [1f80969b90] check-in: [8f4f8eb866] user: jan.nijtmans branch: bug-6978c01b65, size: 12140 | |
|
2022-10-21
| ||
| 15:00 | typedef Tcl_Size as int (which is the Tcl 8.7 part of TIP #628) file: [2a24222bb1] check-in: [ba6b7d0db9] user: jan.nijtmans branch: core-8-branch, size: 12042 | |
|
2022-10-16
| ||
| 11:10 | new TIP about -eofchar handling file: [ba836743fa] check-in: [6972c7e82c] user: jan.nijtmans branch: tip-646, size: 12078 | |
|
2022-10-11
| ||
| 06:22 | Making a start fixing [6978c01b65]: Channel encoding difference 8.6 <-> 9.0 file: [46179fcb07] check-in: [f36d6aec92] user: jan.nijtmans branch: bug-6978c01b65, size: 12103 | |
|
2022-10-08
| ||
| 16:44 | Merge 9.0 file: [d4b0a8313c] check-in: [f34a14695a] user: jan.nijtmans branch: tip633-tcl9-fconfigure-strictencoding, size: 12028 | |
| 15:43 | Merge 8.7 file: [7b14b475ac] check-in: [58f6cbaca1] user: jan.nijtmans branch: main, size: 11924 | |
| 00:10 | -nocomplainencoding and -strictencoding are incompatible file: [b281012040] check-in: [a2eaf05cd4] user: jan.nijtmans branch: tip633-fconfigure-tolerantencoding, size: 12005 | |
|
2022-09-26
| ||
| 12:35 | Merge 9.0 file: [192627644b] check-in: [68b69eb613] user: jan.nijtmans branch: tip633-tcl9-fconfigure-strictencoding, size: 11933 | |
| 12:31 | Merge 8.7 file: [5fbc6b1e9c] check-in: [1aa9452e1d] user: jan.nijtmans branch: tip-346, size: 11903 | |
| 07:43 | Merge 8.7 file: [9a455f6a87] check-in: [42609ef89b] user: jan.nijtmans branch: main, size: 11829 | |
|
2022-09-22
| ||
| 11:26 | Add -strictencoding option to channels. Thanks to Harald Oehlman for his example (largely copied). No testcases yet file: [e9b7eb04a8] check-in: [6edbb53f0a] user: jan.nijtmans branch: tip-346, size: 11809 | |
|
2022-09-19
| ||
| 17:40 | TIP633 fconfigure -nocomplainencoding (TCL9): replace "-strictencoding 0" by "-nocomplainencoding 1". file: [a055151d78] check-in: [68c3e3c92f] user: oehhar branch: tip633-tcl9-fconfigure-strictencoding, size: 11839 | |
|
2022-09-11
| ||
| 09:55 | TIP633 fconfigure -strictencoding: TCL 9 command line implementation file: [1ef19fe8e4] check-in: [b00490b063] user: oehhar branch: tip633-tcl9-fconfigure-strictencoding, size: 11835 | |
| 08:55 | TIP633 fconfigure -strictencoding: change option name to "-strictencoding". file: [ad14dee388] check-in: [49833e6ecb] user: oehhar branch: tip633-fconfigure-tolerantencoding, size: 11814 | |
|
2022-09-07
| ||
| 11:45 | Revive TIP #220 implementation: Escalate Privileges in VFS Close Callback file: [02e0e0b22a] check-in: [afc95211b0] user: jan.nijtmans branch: tip-220, size: 11808 | |
|
2022-08-25
| ||
| 20:07 | TIP633 fconfigure -tolerantencoding: set tolerant 8.7 default value. file: [671c7c3c95] check-in: [0785157dc1] user: oehhar branch: tip633-fconfigure-tolerantencoding, size: 11815 | |
|
2022-08-18
| ||
| 20:11 | mistake file: [70993b8fae] check-in: [cefdc8fae1] user: oehhar branch: tip833-fconfigure-tolerantencoding, size: 11813 | |
|
2022-03-28
| ||
| 10:07 | Fix some compiler warnings file: [61786dca8f] check-in: [9a1423505b] user: jan.nijtmans branch: tip-616, size: 11735 | |
|
2022-03-23
| ||
| 16:57 | Merge 9.0. More progress file: [108ca3ef3f] check-in: [567f709b24] user: jan.nijtmans branch: tip-616, size: 11737 | |
|
2022-03-20
| ||
| 20:17 | Adapt Tcl_GetChannelBufferSize signature file: [7784e5c510] check-in: [30a2502062] user: jan.nijtmans branch: tip-616, size: 11729 | |
|
2020-09-11
| ||
| 13:20 | Merge 8.7 file: [475dbada2d] check-in: [da6deaa258] user: jan.nijtmans branch: trunk, size: 11723 | |
| 12:56 | Merge 8.6. Remove tests/safe-stock86.test for win builds too (GIT, what are you doing ...!) file: [5a24440332] check-in: [af83072632] user: jan.nijtmans branch: core-8-branch, size: 11714 | |
| 12:31 | Fix [https://core.tcl-lang.org/tk/tktview?name=3bc0f44ef3|3bc0f44ef3]: UBSan complains about body.chars[] usage. (Yes, I know, this one is for Tk, but Tcl was using the same construct too ....) file: [3b7cc6f952] check-in: [29540d10c4] user: jan.nijtmans branch: core-8-6-branch, size: 11718 | |
|
2020-05-29
| ||
| 20:00 | fixes [75d525d37c]: segfault by server socket transfer (accept proc executed in wrong interpreter); no interp-attach action or callback at the moment, but since accept proc is not sharable between multiple interpreters of same thread, after transfer to another thread we can simply obtain new interp handle from statePtr->interp (set by register interp now) file: [6f596204ab] check-in: [455c680c3a] user: sebres branch: bug-75d525d37c-sf-chan-transfer, size: 11823 | |
|
2019-06-12
| ||
| 15:42 | Merge 8.7 file: [2964d10559] check-in: [c5ff3f41bd] user: jan.nijtmans branch: trunk, size: 11712 | |
| 15:26 | Eliminate (internal) TclOffset() usage, just use offsetof() in stead. file: [d964f742b8] check-in: [f0c76dd6a8] user: jan.nijtmans branch: core-8-branch, size: 11703 | |
|
2019-01-24
| ||
| 20:10 | Another round of int -> size_t modifications, so strings > 2Gb are handled correctly on 64-bit platforms. file: [8d90ad39d8] check-in: [0c0ff65606] user: jan.nijtmans branch: trunk, size: 11713 | |
|
2018-06-11
| ||
| 12:51 | back-port 8.6th fix file: [8a6b96c702] check-in: [35b3eadf7f] user: sebres branch: fix-815e246806-8-5, size: 11720 | |
|
2018-06-08
| ||
| 22:34 | **interim commit** fixed for 8.6th case if channel switches owner via thread::transfer file: [dc702af949] check-in: [2e7300065a] user: sebres branch: fix-815e246806-8-6, size: 12027 | |
| 19:02 | merge atomic fix from fix-815e246806-8-5 file: [fe8eeba3dc] check-in: [1d2c1768c9] user: sebres branch: fix-815e246806-8-6, size: 11904 | |
| 18:59 | Fixes bug [815e246806] using atomic reference counter (atomic incr/decr during channel transfer process). Introduces TclAtomicInt buildin primitives (for atomic fetch operations), currently gcc, clang (excepting older versions) and windows. file: [b681f58fd8] check-in: [bd0fca47e3] user: sebres branch: fix-815e246806-8-5, size: 11597 | |
| 13:33 | merge fix for [815e246806] from 8.5th branch fix-815e246806-8-5 file: [811d65ff91] check-in: [f44a1ddd60] user: sebres branch: fix-815e246806-8-6, size: 11904 | |
| 13:30 | Protect channel reference counter with volatile (forces atomic direct incr/decr during transfer process, if temorary shared between threads (avoids unexpected aggressive compiler optimizations). file: [b20aaa62e8] check-in: [520fcd10e6] user: sebres branch: fix-815e246806-8-5, size: 11597 | |
|
2017-12-28
| ||
| 11:32 | change ClientData -> void * in a lot of places (mainly header files) file: [a41fa35fe1] check-in: [8bac85ab5f] user: jan.nijtmans branch: memory-API, size: 11704 | |
|
2017-07-10
| ||
| 08:53 | merge resp. reintegrate sebres-8-5-event-perf-branch to 8.6 file: [11b165b77b] check-in: [fed961497a] user: sebres branch: sebres-8-6-event-perf-branch, size: 11707 | |
|
2017-07-03
| ||
| 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: [706e5cc70e] check-in: [470ed5221b] user: sebres branch: sebres-8-5-event-perf-branch, size: 11400 | |
| 13:30 | code review, rewrite tclTimer, prolongation, etc. file: [9168d3f758] check-in: [449d30a964] user: sebres branch: sebres-8-5-event-perf-branch, size: 11400 | |
| 13:30 | interim commit: code review, rewrite tclTimer, etc. file: [8ed3347e01] check-in: [6828f2cd17] user: sebres branch: sebres-8-5-event-perf-branch, size: 11400 | |
|
2016-11-29
| ||
| 12:26 | merge trunk file: [e1821c15dc] check-in: [0a73f68e8e] user: jan.nijtmans branch: novem, size: 11709 | |
|
2016-07-18
| ||
| 16:46 | [104f2885bb] Rework the "chan" Tcl_ObjType to properly validate cached channel name lookups. file: [a43cda551a] check-in: [fb17469c50] user: dgp branch: core-8-6-branch, size: 11707 | |
| 16:26 | [104f2885bb] Rework the "chan" Tcl_ObjType to properly validate cached channel name lookups. file: [c7d512bbe7] check-in: [05d912fea5] user: dgp branch: core-8-5-branch, size: 11400 | |
|
2016-04-19
| ||
| 20:35 | Fork of Tcl used in the "Little" project. http://www.mcvoy.com/lm/little/index.html file: [5b4753db21] check-in: [69b737f5a1] user: dgp branch: little, size: 11906 | |
|
2015-09-28
| ||
| 11:13 | Align comment. Remove some end-of-line spacing. No functional changes. file: [6e8e933f51] check-in: [fad573cac2] user: jan.nijtmans branch: trunk, size: 11797 | |
| 11:11 | align comment, no functional change file: [7bfd42f2e6] check-in: [47e6a4a635] user: jan.nijtmans branch: core-8-5-branch, size: 11490 | |
|
2015-06-23
| ||
| 19:58 | Member field which should not have been CONST, because it is dynamically allocated file: [dea6274c5f] check-in: [256f9a728e] user: jan.nijtmans branch: core-8-5-branch, size: 11489 | |
|
2015-06-18
| ||
| 19:58 | merge novem file: [7391943392] check-in: [8d9650ab81] user: jan.nijtmans branch: novem-more-memory-API, size: 11796 | |
|
2014-08-01
| ||
| 17:16 | Backport the cheaper Preserve/Release on channels. file: [d4ad8fd3c2] check-in: [ddcf91c9bd] user: dgp branch: core-8-5-branch, size: 11495 | |
|
2014-07-30
| ||
| 00:22 | Reduce the cost of Preserve/Release on channels file: [c84a817ff2] check-in: [d77bfcba0a] user: dgp branch: trunk, size: 11802 | |
|
2014-05-29
| ||
| 15:04 | Refinements of FlushChannel() and its callers. Notably includes removal of the flag BUFFER_READY. file: [985f72696d] check-in: [37bcb4b42d] user: dgp branch: trunk, size: 11783 | |
|
2014-05-28
| ||
| 18:24 | Further simplifications to FlushChannel(). This makes clear the BUFFER_READY flag serves no necessary purpose, so it is removed. file: [8048ce39af] check-in: [d9e66fbb28] user: dgp branch: dgp-flush-channel, size: 11476 | |
|
2014-05-02
| ||
| 07:15 | merge novem file: [7a2e46ee05] check-in: [08a7e90291] user: jan.nijtmans branch: novem-more-memory-API, size: 13140 | |
|
2014-04-21
| ||
| 20:02 | merge trunk file: [c66d25f565] check-in: [58bcc7a29a] user: dgp branch: dgp-trunk-read, size: 11988 | |
| 20:01 | merge 8.5 file: [cb79fad5de] check-in: [621d5cbc6e] user: dgp branch: dgp-read-bytes, size: 11681 | |
| 19:04 | Merge refcounting machinery for ChannelBuffer. file: [a837df73a4] check-in: [0c1015d94d] user: dgp branch: trunk, size: 13146 | |
| 18:55 | Added a refcounting mechanism to ChannelBuffers. Other edits to stop segfaults in tests iocmd-21.2[12]. file: [7dcfe7ac96] check-in: [13886141d8] user: dgp branch: core-8-5-branch, size: 12839 | |
|
2014-03-23
| ||
| 20:59 | Merge the checkins of the dgp-read-bytes branch onto the trunk, up to and including checkin a1e82fb63e . Do not merge checkin bae1c688f2 which starts to take the dgp-read-bytes branch into directions apparently unfriendly to stacked channels, which tests for [chan push] on the trunk help us to detect. file: [8a91e063c2] check-in: [c4c1cd81e4] user: dgp branch: dgp-trunk-read, size: 11944 | |
|
2014-03-17
| ||
| 17:56 | Remove long dead "BAD_BLOCKING" support code so it no longer confuses people reading/editing this code. file: [48213ba7d5] check-in: [b97275fff8] user: dgp branch: dgp-read-bytes, size: 11637 | |
|
2014-03-05
| ||
| 19:41 | Remove old dead code; silence compiler warnings; tidy up. file: [0aa0225059] check-in: [df25cce286] user: dgp branch: dgp-read-bytes, size: 12652 | |
|
2013-09-26
| ||
| 13:13 | merge novem WARNING: No checks of build-ability done yet. file: [5befc31646] check-in: [2688d65077] user: dkf branch: novem-64bit-sizes, size: 13111 | |
|
2013-02-26
| ||
| 17:48 | Remove from tclIO.h structs used only in tclIO.c. file: [38064af752] check-in: [f02d4b5c29] user: dgp branch: trunk, size: 13102 | |
| 17:37 | structs *ChannelHandler* GetsState CopyState used only locally. Remove from tclIO.h. file: [50dd369ade] check-in: [cee6202b4c] user: dgp branch: core-8-5-branch, size: 12795 | |
| 17:15 | structs ChannelHandler ChannelHandlerEvent GetsState CopyState used locally. Remove from tclIO.h. file: [f3fcb7bc13] check-in: [b8a10548fd] user: dgp branch: core-8-4-branch, size: 12731 | |
| 16:38 | struct NextChannelHandler used only locally. Remove from tclIO.h. file: [e4af961dcd] check-in: [f04cd919ee] user: dgp branch: core-8-4-branch, size: 15865 | |
|
2013-02-25
| ||
| 18:17 | Repair linked list management in Tcl_DeleteCloseHandler(). CloseCallback struct used only locally. Remove from tclIO.h. file: [5ff344b4dc] check-in: [c3e51e7bce] user: dgp branch: trunk, size: 17458 | |
| 18:15 | Repair linked list management in Tcl_DeleteCloseHandler(). CloseCallback struct used only locally. Remove from tclIO.h. file: [2038b10df3] check-in: [0998e957ef] user: dgp branch: core-8-5-branch, size: 17144 | |
| 18:05 | Repair linked list management in Tcl_DeleteCloseHandler(). CloseCallback struct is used only locally. Remove from tclIO.h. file: [9ed89816a4] check-in: [5a27ca7124] user: dgp branch: core-8-4-branch, size: 17137 | |
|
2012-12-12
| ||
| 21:21 | More memory API changes, mainly char* -> void* and unsigned -> size_t file: [2e276d17a2] check-in: [19fb92fb72] user: jan.nijtmans branch: novem-more-memory-API, size: 17785 | |
|
2012-11-19
| ||
| 10:20 | Merge novem. <p>Introduce TCL_SIZE_T type. Not complete yet. file: [a9fd1aaab3] check-in: [a3ee6b3635] user: jan.nijtmans branch: tcl_nosize, size: 17804 | |
|
2012-11-18
| ||
| 00:06 | another batch of conversions file: [8b1381b9b8] check-in: [7698b769e5] user: dkf branch: novem-64bit-sizes, size: 17826 | |
|
2012-05-25
| ||
| 08:50 | Factor out constant that must be the same in multiple places. Prompted by a conversation with Alexandre Ferrieux. file: [261c5a7732] check-in: [68547a2755] user: dkf branch: trunk, size: 17791 | |
|
2012-03-07
| ||
| 21:59 | start of a new attempt, building functionality in "channel" file: [b8407ab4e0] check-in: [a0ed010170] user: jan.nijtmans branch: bug-3466099, size: 17608 | |
|
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: [97f062b186] check-in: [c64f310d38] user: dgp branch: trunk, size: 17643 | |
| 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: [b4c65a6d16] check-in: [79367df0f0] user: dgp branch: core-8-5-branch, size: 17477 | |
|
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: [3d05815043] check-in: [90b4acd7bd] user: dgp branch: core-8-4-branch, size: 17469 | |
|
2011-01-12
| ||
| 15:23 | This commit is both no-NRE v2, implemented by subtracting the NRE pieces (*), and update to CVS trunk head of Wednesday Jan 5. (*) no-NRE v1 in the other branch was created in an additive manner from the point where 8.5 was branched from the trunk, by adding all the patches but those for NRE. file: [917045983d] check-in: [2d93b1436c] user: andreask branch: activestate-nre-excised-variant-2-subtracted, size: 17709 | |
|
2010-12-30
| ||
| 14:42 | merge file: [7787070e3b] check-in: [45d5c91eaf] user: dgp branch: dgp-refactor, size: 17713 | |
|
2010-12-11
| ||
| 18:39 | merge file: [1044e32232] check-in: [c291154f2c] user: kennykb branch: dogeen-assembler-branch, size: 17717 | |
|
2010-12-10
| ||
| 21:59 | [Bug 3129448]: Possible over-allocation on 64-bit platforms, part 2 file: [4b8bb9230a] check-in: [e6ddd08613] user: nijtmans branch: trunk, size: 17714 | |
|
2010-11-17
| ||
| 16:32 | Next slice, big chunk of the generic IO layer plus a few miscellanea. file: [ef21c44aa9] check-in: [40a5fd2632] user: andreask branch: activestate-nre-excised-variant-1-roll-forward, size: 17707 | |
|
2010-03-30
| ||
| 08:45 | Merge from HEAD to rmax-ipv6-branch file: [caf5e36639] check-in: [54b695423d] user: rmax branch: rmax-ipv6-branch, size: 17712 | |
|
2010-03-20
| ||
| 17:53 | * generic/tclIO.c (CopyData): Allow the total number of bytes copied by [fcopy] to exceed 2GB. Can happen when no -size parameter given. file: [369daf0d5b] check-in: [c6cdb88f0b] user: dkf branch: core-8-5-branch, size: 17547 | |
| 15:58 | merge updates file: [5c20a8cc73] check-in: [f275ac41be] user: dgp branch: dgp-refactor, size: 17711 | |
| 15:39 | Allow [fcopy] to move more than 2GB per call. Frederic Bonnet identified issue. file: [595d89da24] check-in: [a2e969549f] user: dkf branch: trunk, size: 17707 | |
|
2009-03-03
| ||
| 05:59 | merge updates from HEAD file: [6ebd7755ce] check-in: [6f929495b8] user: dgp branch: dgp-refactor, size: 17697 | |
|
2009-02-27
| ||
| 23:03 | [Bug 218977] Tcl_DbCkfree needs a return value don't use CONST84/CONST86 in internal header files file: [e968827aa1] check-in: [23ff81a854] user: nijtmans branch: trunk, size: 17698 | |
|
2008-12-19
| ||
| 03:37 | merge updates from HEAD file: [dfb2029bbd] check-in: [319f77c794] user: dgp branch: dgp-refactor, size: 17698 | |
|
2008-12-18
| ||
| 23:48 | * generic/tclIO.c (Tcl_CloseEx,CloseWrite,CloseChannelPart,ChanCloseHalf): Rewrite the half-close to properly flush the channel, like is done for a full close, going through FlushChannel, and using the flag BG_FLUSH_SCHEDULED (async flush during close). New functions CloseWrite, CloseChannelPart, new flag CHANNEL_CLOSEDWRITE. * tests/chanio.test (chanio-28.[67]): Reactivated these tests. Replaced tclsh -> [interpreter] to get correct executable for the pipe process, and added after cancel to kill the fail timers when we are done. Removed the explicits calls to [flush], now that [close] handles this correctly. file: [264d928f70] check-in: [2cb6ab45d5] user: andreas_kupries branch: trunk, size: 17707 | |
|
2008-10-11
| ||
| 03:37 | merge updates from HEAD file: [511b0e35c3] check-in: [707fc4e9cf] user: dgp branch: dgp-refactor, size: 17547 | |
|
2008-10-04
| ||
| 12:33 | * doc/ChnlStack.3: CONSTified the typePtr argument * doc/CrtChannel.3: of Tcl_CreateChannel and Tcl_StackChannel * generic/tcl.decls and the return value of Tcl_GetChannelType * generic/tcl.h * generic/tclIO.h * generic/tclIO.c * ChangeLog * generic/tclDecls.h: regenerated This change complies with TIP #27. file: [5af661ff86] check-in: [1fb6ccc45a] user: nijtmans branch: trunk, size: 17549 | |
|
2008-06-25
| ||
| 15:56 | merge updates from 8.5 branch file: [be2fa48867] check-in: [affd52009d] user: dgp branch: core-stabilizer-branch, size: 17539 | |
|
2008-05-11
| ||
| 04:22 | merge updates from HEAD file: [6a7a01e834] check-in: [b084fd8e3a] user: dgp branch: dgp-refactor, size: 17539 | |
|
2008-05-02
| ||
| 10:27 | More elimination of pre-C89-isms. file: [f93677cc14] check-in: [27caec3459] user: dkf branch: trunk, size: 17536 | |
|
2008-04-08
| ||
| 13:18 | merge updates from HEAD file: [da83628062] check-in: [e6bf431352] user: dgp branch: dgp-refactor, size: 17539 | |
|
2008-04-07
| ||
| 22:53 | * tests/io.test (io-53.10): Testcase for bi-directionaly fcopy. * tests/chanio.test: * generic/tclIO.c: Additional changes to data structures for fcopy * generic/tclIO.h: and channels to perform proper cleanup in case of a channel having two background copy operations running as is now possible. file: [8bcb995cdc] check-in: [8b118596fb] user: andreas_kupries branch: trunk, size: 17548 | |
| 22:33 | * tests/io.test (io-53.10): Testcase for bi-directionaly fcopy. * tests/chanio.test: * generic/tclIO.c: Additional changes to data structures for fcopy * generic/tclIO.h: and channels to perform proper cleanup in case of a channel having two background copy operations running as is now possible. file: [fcc44067f3] check-in: [a9e6f2b7cb] user: andreas_kupries branch: core-8-5-branch, size: 17552 | |
| 22:17 | * tests/io.test (io-53.10): Testcase for bi-directionaly fcopy. * generic/tclIO.c: Additional changes to data structures for fcopy * generic/tclIO.h: and channels to perform proper cleanup in case of a channel having two background copy operations running as is now possible. file: [557bbbb8db] check-in: [804943284a] user: andreas_kupries branch: core-8-4-branch, size: 17550 | |
|
2007-12-13
| ||
| 15:22 | merge stable branch onto HEAD file: [ee8ec74067] check-in: [d1f7550cd9] user: dgp branch: trunk, size: 17415 | |
|
2007-12-06
| ||
| 07:11 | merge updates from HEAD file: [86f971baea] check-in: [304e9bdd17] user: dgp branch: dgp-refactor, size: 17418 | |
| 07:08 | merge updates from HEAD file: [4274fc5145] check-in: [7b24711edb] user: dgp branch: core-stabilizer-branch, size: 17418 | |
|
2007-12-05
| ||
| 21:47 | * generic/tclIO.h: Create Tcl_Obj for Tcl channels to reduce * generic/tclIO.c: overhead in lookup by Tcl_GetChannel. New * generic/tclIOCmd.c: TclGetChannelFromObj for internal use. * generic/tclIO.c (WriteBytes, WriteChars): add opt check to avoid EOL translation when not linebuffered or using lf. [Bug 1845092] file: [eaa446d7d2] check-in: [b780154df6] user: hobbs branch: trunk, size: 17417 | |
|
2005-10-18
| ||
| 20:46 | merge updates from HEAD file: [9910f60b03] check-in: [2e8613842e] user: dgp branch: dgp-refactor, size: 17238 | |
|
2005-10-13
| ||
| 00:56 | formatting file: [bbbd973ba2] check-in: [0fdf63803f] user: dkf branch: trunk, size: 17234 | |
|
2005-09-12
| ||
| 15:40 | merge updates from HEAD file: [51539f8ee9] check-in: [156f19bcaf] user: dgp branch: dgp-refactor, size: 18061 | |
|
2005-08-25
| ||
| 15:46 | [kennykb-numerics-branch] Merge updates from HEAD * generic/tclExecute.c: Bug fix. INST_*SHIFT* opcodes stack management. [expr 0<<6] should be 0, not 6. file: [46812a245e] check-in: [6d651867f9] user: dgp branch: kennykb-numerics-branch, size: 18061 | |
|
2005-08-24
| ||
| 17:56 | TIP#219 IMPLEMENTATION * doc/SetChanErr.3: ** New File **. Documentation of the new channel API functions. * generic/tcl.decls: Stub declarations of the new channel API. * generic/tclDecls.h: Regenerated * generic/tclStubInit.c: * tclIORChan.c: ** New File **. Implementation of the reflected channel. * generic/tclInt.h: Integration of reflected channel and new error * generic/tclIO.c: propagation into the generic I/O core. * generic/tclIOCmd.c: * generic/tclIO.h: * library/init.tcl: * tests/io.test: Extended testsuite. * tests/ioCmd.test: * tests/chan.test: * generic/tclTest.c: * generic/tclThreadTest.c: * unix/Makefile.in: Integration into the build machinery. * win/Makefile.in: * win/Makefile.vc: file: [f01882b19f] check-in: [d936ddccf8] user: andreas_kupries branch: trunk, size: 18069 | |
|
2004-09-08
| ||
| 23:02 | Merge updates from HEAD file: [503b068ce9] check-in: [dff8728918] user: dgp branch: dgp-refactor, size: 17417 | |
|
2004-07-15
| ||
| 20:46 | * generic/tclIO.h (CHANNEL_INCLOSE): New flag. Set in * generic/tclIO.c (Tcl_UnregisterChannel): 'Tcl_Close' while the * generic/tclIO.c (Tcl_Close): close callbacks are run. Checked in 'Tcl_Close' and 'Tcl_Unregister' to prevent recursive call of 'close' in the close-callbacks. This is a possible error made by implementors of virtual filesystems based on 'tclvfs', thinking that they have to close the channel in the close handler for the filesystem. * generic/tclIO.c: * generic/tclIO.h: * Not reverting, but #ifdef'ing the changes from May 19, 2004 out of the core. This removes the ***POTENTIAL INCOMPATIBILITY*** for channel drivers it introduced. This has become possible due to Expect gaining a BlockModeProc and now handling blockingg and non-blocking modes correctly. Thus [SF Tcl Bug 943274] is still fixed if a recent enough version of Expect is used. * doc/CrtChannel.3: Added warning about usage of a channel without a BlockModeProc. file: [539776163c] check-in: [ec89766307] user: andreas_kupries branch: trunk, size: 17425 | |
| 20:46 | * generic/tclIO.h (CHANNEL_INCLOSE): New flag. Set in * generic/tclIO.c (Tcl_UnregisterChannel): 'Tcl_Close' while the * generic/tclIO.c (Tcl_Close): close callbacks are run. Checked in 'Tcl_Close' and 'Tcl_Unregister' to prevent recursive call of 'close' in the close-callbacks. This is a possible error made by implementors of virtual filesystems based on 'tclvfs', thinking that they have to close the channel in the close handler for the filesystem. * generic/tclIO.c: * generic/tclIO.h: * Not reverting, but #ifdef'ing the changes from May 19, 2004 out of the core. This removes the ***POTENTIAL INCOMPATIBILITY*** for channel drivers it introduced. This has become possible due to Expect gaining a BlockModeProc and now handling blockingg and non-blocking modes correctly. Thus [SF Tcl Bug 943274] is still fixed if a recent enough version of Expect is used. * doc/CrtChannel.3: Added warning about usage of a channel without a BlockModeProc. file: [f3d868fec2] check-in: [91ff646723] user: andreas_kupries branch: core-8-4-branch, size: 17429 | |
|
2004-05-27
| ||
| 14:29 | Merge updates from HEAD. Also implemented flags argument to TclCompEvalObj(). file: [70bb58a369] check-in: [8f7452ee0c] user: dgp branch: dgp-refactor, size: 17090 | |
|
2004-05-19
| ||
| 19:41 | * tclIO.c: Fixed [SF Tcl Bug 943274]. This is the same problem as * tclIO.h: [SF Tcl Bug 462317], see ChangeLog entry 2001-09-26. The fix done at that time is incomplete. It is possible to get around it if the actual read operation is defered and not executed in the event handler itself. Instead of tracking if we are in an read caused by a synthesized fileevent we now track if the OS has delivered a true event = actual data and bypass the driver if a read finds that there is no actual data waiting. The flag is cleared by a short or full read. file: [c8574c2e07] check-in: [30839ce2a7] user: andreas_kupries branch: trunk, size: 17098 | |
| 19:16 | * tclIO.c: Fixed [SF Tcl Bug 943274]. This is the same problem as * tclIO.h: [SF Tcl Bug 462317], see ChangeLog entry 2001-09-26. The fix done at that time is incomplete. It is possible to get around it if the actual read operation is defered and not executed in the event handler itself. Instead of tracking if we are in an read caused by a synthesized fileevent we now track if the OS has delivered a true event = actual data and bypass the driver if a read finds that there is no actual data waiting. The flag is cleared by a short or full read. file: [2e226ef8c5] check-in: [f99f83647b] user: andreas_kupries branch: core-8-4-branch, size: 17102 | |
|
2002-02-05
| ||
| 02:21 | Merging with the current TOT. Very few conflicts, mostly in the generated files. file: [23c9192669] check-in: [f469a31a06] user: wolfsuit branch: macosx-8-4-branch, size: 16528 | |
|
2002-01-15
| ||
| 17:55 | * Updated APIs in the file generic/tclIO.c according to the guidelines of TIP 27. Several minor documentation corrections as well. * Updated channel driver interface according to the guidelines of TIP 27. See also [Bug 500348]. * Moved Tcl_EolTranslation enum declaration from generic/tcl.h to generic/tclInt.h (renamed to TclEolTranslation). It is not used anywhere in Tcl's public interface. file: [547e249735] check-in: [9c9edf24eb] user: dgp branch: trunk, size: 16519 | |
|
2001-09-27
| ||
| 14:25 | Backing out unwise changes file: [b29287827b] check-in: [bfeeb2a228] user: dkf branch: dkf-64bit-support-branch, size: 16129 | |
| 02:12 | * The changes below fix [Bug #462317] where Expect tried to read more than was in the buffers and then blocked in the OS call as its pty channel driver provides no blockmodeproc through which the OS could be notified of blocking-behaviour. Because of this the general I/O core has to take more care than usual to preserve the semantics of non-blocking channels. * generic/tclIO.c (Tcl_ReadRaw): Do not read from the driver if the channel is non-blocking and the fileevent causing the read was generated by a timer. We do not know if there is data available from the OS. Instead of going to the OS for more and potentially blocking we simply signal EWOULDBLOCK to the higher levels to cause the system to wait for true fileevents. (GetInput): Same as before. (ChannelTimerProc): Added set and clear of CHANNEL_TIMER_FEV. * generic/tclIO.h (CHANNEL_TIMER_FEV): New flag for channels. Is set if a fileevent was generated by a timer, the channel is not blocking and the driver did not provide a blockmodeproc. In that case the I/O core has to be especially careful about going to the driver for more data. file: [b94e390419] check-in: [cd08453fb3] user: andreas_kupries branch: trunk, size: 16528 | |
|
2001-09-25
| ||
| 16:49 | Woo hoo! Builds on one platform (Solaris8/SPARC with SunPro CC) file: [1da32888cd] check-in: [dd2d80954c] user: dkf branch: dkf-64bit-support-branch, size: 16148 | |
|
2001-03-30
| ||
| 23:06 | 2001-03-30 Andreas Kupries <andreas_kupries@users.sourceforge.net> * All of the changes below belong to TIP #10 [Tcl I/O Enhancement: Thread-Aware Channels]. See also [Patch #403358] at SF. * generic/tclIO.h (struct ChannelState, line 236f): Extended the structure with a new field of type 'Tcl_ThreadId' to hold the id of the thread currently managing all channels with this state. Note: This structure is shared by all channels in a stack of transformations. * generic/tclIO.c (Tcl_CreateChannel, lines 1058-1065): Modified to store the Id of the current thread in the 'ChannelState' of the new channel. * generic/tclIO.c (Tcl_SpliceChannel, lines 2265-2270): Modified in the same manner as 'Tcl_CreateChannel' as the channel will be managed by the current thread afterward. * generic/tclIO.c (Tcl_GetChannelThread, lines 1478-1503): * generic/tcl.decls (Tcl_GetChannelThread, lines 1504-1506): New API function to retrieve the Id of the managing thread from a channel. Implementation and declaration. * generic/tclTest.c (TestChannelCmd, lines 4520-4532): Added subcommand 'mthread' to query a channel about its managing thread. file: [b813ac5c0f] check-in: [902eab8ec8] user: andreas_kupries branch: trunk, size: 16136 | |
|
2000-09-28
| ||
| 06:38 | up-port of the stacked channel implementation rewrite in 8.3.2 to 8.4a2 code base, merged in with some existing new 8.4a2 features. file: [d9dcda1d1b] check-in: [23d1294c3a] user: hobbs branch: trunk, size: 16020 | |
|
2000-07-25
| ||
| 16:54 | 2000-07-25 Andreas Kupries <a.kupries@westend.com> * tests/iogt.test: (line 866f) New tests iogt-6.[01], highlighting buffering trouble when stacking and unstacking transformations. iogt-6.0 is solved, see the changes below. iogt-6.1 remains, for now, due to the perceived complexity of solutions. * generic/tclIO.h: (line 139f) struct Channel, added a buffer queue, to hold data pushed back when stacking a transformation. * generic/tclIO.c: (line 91f, line 7434f) New internal function 'CopyBuffer'. Derived from 'CopyAndTranslateBuffer', with translation removed. (line 1025f, line 1212f): Initialization of new queue. (line 1164f, Tcl_StackChannel): Pushback of input queue. (line 1293f, Tcl_UnstackChannel): Discard input and pushback. (line 3748f, Tcl_ReadRaw): Modified to use data in the push back area before going to the driver. Uses 'CopyBuffer', s.a. (line 4702f, GetInput): Modified to use data in the push back area before going to the driver. (line 4867f, Tcl_Seek): Modified to take pushback of the topmost channel in a stack into account. (line 5620f, Tcl_InputBuffered): See above. Added 'Tcl_ChannelBuffered'. Analogue to 'Tcl_InputBuffered' but for the buffer area in the channel. * generic/tcl.decls: New public API 'Tcl_ChannelBuffered'. S.a. file: [7e3dd0047f] check-in: [10bfc475b0] user: kupries branch: core-8-3-1-io-rewrite, size: 16026 | |
|
2000-07-17
| ||
| 22:59 | * generic/tclStubInit.c: * generic/tclIntDecls.h: * generic/tclInt.decls: commented out internal decls for TclTestChannelCmd and TclTestChannelEventCmd as they were moved to tclTest.c. Added new decls for TclChannelEventScriptInvoker and TclChannelTransform. * generic/tclIO.h: new file that contains the main internal structures of Tcl_Channel code to allow for multiple files to access them. * generic/tclTest.c: * generic/tclIO.c: broke into 3 files - tclIO.c core code, tclIO.h header code, and tclIOGT.c - the giot test code from Kupries. The channel test code also moved to tclTest.c. * generic/tclIO.c (CloseChannel): stopped masking out of the TCL_READABLE|TCL_WRITABLE bits from the state flags in CloseChannel, instead adding extra intelligence to CheckChannelErrors with a new CHANNEL_RAW_MODE bit for special behavior when called from Raw channel APIs. file: [46de3b3507] check-in: [9a75cd275a] user: hobbs branch: core-8-3-1-io-rewrite, size: 15723 | |
|
2000-05-19
| ||
| 21:30 | Added: * generic/tclTest.c: * generic/tclIO.c: moved channel test commands from tclIO.c to tclTest.c. * generic/tclIO.h: new file, split out from tclIO.c to allow test commands to be moved to tclTest.c. * generic/tclStubInit.c: * generic/tclIntDecls.h: * generic/tclInt.decls: removed TclTestChannel*Cmd from internal stubs table and added TclChannelEventScriptInvoker to the internal stubs table so it can be used from the test code. file: [c035131016] check-in: [a0e9b1640e] user: hobbs branch: trunk, size: 15621 | |