Tcl Source Code

Check-in [3bbd536102]
Login

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

Overview
Comment:[Bug 3545365]: Never try a bg-flush on a dead channel, just like before 2011-08-17.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 3bbd536102743e60c3bf634850a028df32dad0be
User & Date: ferrieux 2012-07-23 18:50:05
Context
2012-07-24
20:20
Preserve the chanPtr so that script evaluation cannot invalidate it when we plan to use it again. check-in: 7f143c10c1 user: dgp tags: trunk
2012-07-23
18:50
[Bug 3545365]: Never try a bg-flush on a dead channel, just like before 2011-08-17. check-in: 3bbd536102 user: ferrieux tags: trunk
14:46
merge-mark check-in: 86fd7c9f28 user: jan.nijtmans tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to ChangeLog.






1
2
3
4
5
6
7





2012-07-19  Joe Mistachkin  <[email protected]>

	* generic/tclTest.c: Fix several more missing mutex-locks in
	TestasyncCmd.

2012-07-19  Alexandre Ferrieux  <[email protected]>

>
>
>
>
>







1
2
3
4
5
6
7
8
9
10
11
12
2012-07-23  Alexandre Ferrieux  <[email protected]>

	* generic/tclIO.c: [Bug  3545365]: Never try a bg-flush  on a dead
	channel, just like before 2011-08-17.

2012-07-19  Joe Mistachkin  <[email protected]>

	* generic/tclTest.c: Fix several more missing mutex-locks in
	TestasyncCmd.

2012-07-19  Alexandre Ferrieux  <[email protected]>

Changes to generic/tclIO.c.

423
424
425
426
427
428
429



430
431
432
433
434
435
436
437
	 */

	active = 0;
	for (statePtr = tsdPtr->firstCSPtr;
		statePtr != NULL;
		statePtr = statePtr->nextCSPtr) {
	    chanPtr = statePtr->topChanPtr;



	    if (!GotFlag(statePtr, CHANNEL_INCLOSE | CHANNEL_CLOSED | CHANNEL_DEAD)
                || GotFlag(statePtr, BG_FLUSH_SCHEDULED)) {
                ResetFlag(statePtr, BG_FLUSH_SCHEDULED);
		active = 1;
		break;
	    }
	}








>
>
>
|







423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
	 */

	active = 0;
	for (statePtr = tsdPtr->firstCSPtr;
		statePtr != NULL;
		statePtr = statePtr->nextCSPtr) {
	    chanPtr = statePtr->topChanPtr;
            if (GotFlag(statePtr, CHANNEL_DEAD)) {
                continue;
            }
	    if (!GotFlag(statePtr, CHANNEL_INCLOSE | CHANNEL_CLOSED )
                || GotFlag(statePtr, BG_FLUSH_SCHEDULED)) {
                ResetFlag(statePtr, BG_FLUSH_SCHEDULED);
		active = 1;
		break;
	    }
	}