Tcl Source Code

Check-in [ff52fbb4ac]
Login

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

Overview
Comment:Fix reviewed and accepted.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | core-8-5-branch
Files: files | file ages | folders
SHA1: ff52fbb4ac3eb0a87c557475dc4a8229addf2fb6
User & Date: andreask 2014-08-20 18:59:31
Context
2014-08-22
13:23
Correct performance regression in a series of short binary reads from a socket. Many thanks to Eric... check-in: 70e97884f0 user: dgp tags: core-8-5-branch
2014-08-21
23:07
Test fix for likely cause of reported I/O slowdown. In a DoRead() revision, it came to favor making ... check-in: 85cd086fd2 user: dgp tags: dgp-slow-read
2014-08-20
21:44
Copy Write() to WriteBytes() to create an arena for performance hacking. check-in: 6e08d8924a user: dgp tags: dgp-writebytes-optimize
18:59
Fix reviewed and accepted. check-in: ff52fbb4ac user: andreask tags: core-8-5-branch
18:40
Make test io-36.1.1 more portable. check-in: 28e58db108 user: dgp tags: core-8-5-branch
17:50
Docs for Tcl_CreateChannelHandler() state that the registered handler proc will be called back with ... Closed-Leaf check-in: f520790052 user: dgp tags: aku-review
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to generic/tclIO.c.

7712
7713
7714
7715
7716
7717
7718
7719
7720
7721
7722
7723
7724
7725
7726
	/*
	 * If this channel handler is interested in any of the events that
	 * have occurred on the channel, invoke its procedure.
	 */

	if ((chPtr->mask & mask) != 0) {
	    nh.nextHandlerPtr = chPtr->nextPtr;
	    (*(chPtr->proc))(chPtr->clientData, mask);
	    chPtr = nh.nextHandlerPtr;
	} else {
	    chPtr = chPtr->nextPtr;
	}
    }

    /*







|







7712
7713
7714
7715
7716
7717
7718
7719
7720
7721
7722
7723
7724
7725
7726
	/*
	 * If this channel handler is interested in any of the events that
	 * have occurred on the channel, invoke its procedure.
	 */

	if ((chPtr->mask & mask) != 0) {
	    nh.nextHandlerPtr = chPtr->nextPtr;
	    (*(chPtr->proc))(chPtr->clientData, chPtr->mask & mask);
	    chPtr = nh.nextHandlerPtr;
	} else {
	    chPtr = chPtr->nextPtr;
	}
    }

    /*