Expect

Check-in [f201b879d2]
Login

Check-in [f201b879d2]

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

Overview
Comment:Fix interact bug - handle reads of 0 length on non-blocking channels by explicitly checking if the channel is non-blocking. Fix by Jack Bates.
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: f201b879d258032dd3f0ff481d66079f003ee0cf
User & Date: pyssling 2018-02-04 10:17:44.082
Context
2018-02-04
10:45
Bump version to 5.45.4 for release. check-in: 1a99d091a8 user: pyssling tags: trunk
10:17
Fix interact bug - handle reads of 0 length on non-blocking channels by explicitly checking if the channel is non-blocking. Fix by Jack Bates. check-in: f201b879d2 user: pyssling tags: trunk
10:09
Fix eof bug introduced with previous bug fix - ensure that data received just before an eof is processed. Fix by Sergei Golovan. check-in: 7cdeb14945 user: pyssling tags: trunk
Changes
Unified Diff Ignore Whitespace Patch
Changes to exp_inter.c.
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443

	/* reset timer */
	inp->timeout_remaining = inp->timeout_nominal;

	switch (rc) {
	    case EXP_DATA_NEW:
		cc = intRead(interp,u,1,0,key);
		if (cc > 0) break;

		rc = EXP_EOF;
		/*
		 * FALLTHRU
		 *
		 * Most systems have read() return 0, allowing
		 * control to fall thru and into this code.  On some







|







1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443

	/* reset timer */
	inp->timeout_remaining = inp->timeout_nominal;

	switch (rc) {
	    case EXP_DATA_NEW:
		cc = intRead(interp,u,1,0,key);
		if (cc > 0 || Tcl_InputBlocked(u->channel)) break;

		rc = EXP_EOF;
		/*
		 * FALLTHRU
		 *
		 * Most systems have read() return 0, allowing
		 * control to fall thru and into this code.  On some