Changes On Branch bug-65c8cd1534
Not logged in

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

Changes In Branch bug-65c8cd1534 Excluding Merge-Ins

This is equivalent to a diff from a16b4619c9 to 75cd9d9d6d

2020-03-04
21:00
merge 8.6 check-in: 8909782fe2 user: dgp tags: core-8-branch
18:26
[65c9cd1534] Restore continuity of compatible function of [close] on a channel type that defines bo... Closed-Leaf check-in: 75cd9d9d6d user: dgp tags: bug-65c8cd1534
16:18
Merge 8.7 check-in: ce59d75d36 user: jan.nijtmans tags: trunk
16:17
Merge 8.6 check-in: a16b4619c9 user: jan.nijtmans tags: core-8-branch
16:16
Some more gcc(-9) warnings check-in: 05722b9512 user: jan.nijtmans tags: core-8-6-branch
15:55
Merge 8.6 check-in: 67d6f07392 user: jan.nijtmans tags: core-8-branch

Changes to generic/tclIO.c.
3496
3497
3498
3499
3500
3501
3502

3503
3504


3505
3506
3507
3508
3509
3510
3511
3512
3513
3514
3515
3516
3517
3518
3519
3520
3521
3522
3523
    ResetFlag(statePtr, CHANNEL_INCLOSE);

    /*
     * If this channel supports it, close the read side, since we don't need
     * it anymore and this will help avoid deadlocks on some channel types.
     */


#ifndef TCL_NO_DEPRECATED
    if ((chanPtr->typePtr->closeProc == TCL_CLOSE2PROC) || (chanPtr->typePtr->closeProc == NULL)) {


	/* If this half-close gives a EINVAL, just continue the full close */
	result = chanPtr->typePtr->close2Proc(chanPtr->instanceData, interp, TCL_CLOSE_READ);
	if (result == EINVAL) {
	    result = 0;
	}
    }
#else
    result = chanPtr->typePtr->close2Proc(chanPtr->instanceData, interp, TCL_CLOSE_READ);
    if (result == EINVAL) {
	result = 0;
    }
#endif

    /*
     * The call to FlushChannel will flush any queued output and invoke the
     * close function of the channel driver, or it will set up the channel to
     * be flushed and closed asynchronously.
     */








>

|
>
>






<
<
<
<
<
<







3496
3497
3498
3499
3500
3501
3502
3503
3504
3505
3506
3507
3508
3509
3510
3511
3512
3513






3514
3515
3516
3517
3518
3519
3520
    ResetFlag(statePtr, CHANNEL_INCLOSE);

    /*
     * If this channel supports it, close the read side, since we don't need
     * it anymore and this will help avoid deadlocks on some channel types.
     */

    if (
#ifndef TCL_NO_DEPRECATED
	    (chanPtr->typePtr->closeProc == TCL_CLOSE2PROC) || 
#endif
	    (chanPtr->typePtr->closeProc == NULL)) {
	/* If this half-close gives a EINVAL, just continue the full close */
	result = chanPtr->typePtr->close2Proc(chanPtr->instanceData, interp, TCL_CLOSE_READ);
	if (result == EINVAL) {
	    result = 0;
	}
    }







    /*
     * The call to FlushChannel will flush any queued output and invoke the
     * close function of the channel driver, or it will set up the channel to
     * be flushed and closed asynchronously.
     */