summaryrefslogtreecommitdiffstats
path: root/generic/tclTest.c
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2022-09-08 14:19:07 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2022-09-08 14:19:07 (GMT)
commit3be920cf8fde24640c4527c8f59024e22eee9930 (patch)
tree374d699c875051b6464caf1fa6edd1b574b51c1c /generic/tclTest.c
parent37386d726b21f9775a5a36b86e36201d5755f4bd (diff)
parent607e3a5ba3c721c845b29c89db243882f25c5ba5 (diff)
downloadtcl-3be920cf8fde24640c4527c8f59024e22eee9930.zip
tcl-3be920cf8fde24640c4527c8f59024e22eee9930.tar.gz
tcl-3be920cf8fde24640c4527c8f59024e22eee9930.tar.bz2
Merge 8.7
Diffstat (limited to 'generic/tclTest.c')
-rw-r--r--generic/tclTest.c17
1 files changed, 14 insertions, 3 deletions
diff --git a/generic/tclTest.c b/generic/tclTest.c
index d13b7ce..f6515c1 100644
--- a/generic/tclTest.c
+++ b/generic/tclTest.c
@@ -97,8 +97,7 @@ typedef struct TcpState TcpState;
struct TcpState {
Tcl_Channel channel; /* Channel associated with this socket. */
- int testFlags; /* bit field for tests. Is set by testsocket
- * test procedure */
+ int flags; /* ORed combination of various bitfields. */
};
TCL_DECLARE_MUTEX(asyncTestMutex)
@@ -6442,6 +6441,10 @@ TestChannelEventCmd(
*----------------------------------------------------------------------
*/
+#define TCP_ASYNC_TEST_MODE (1<<8) /* Async testing activated. Do not
+ * automatically continue connection
+ * process. */
+
static int
TestSocketCmd(
TCL_UNUSED(void *),
@@ -6463,6 +6466,7 @@ TestSocketCmd(
if ((cmdName[0] == 't') && (strncmp(cmdName, "testflags", len) == 0)) {
Tcl_Channel hChannel;
int modePtr;
+ int testMode;
TcpState *statePtr;
/* Set test value in the socket driver
*/
@@ -6484,7 +6488,14 @@ TestSocketCmd(
NULL);
return TCL_ERROR;
}
- statePtr->testFlags = atoi(argv[3]);
+ if (Tcl_GetBoolean(interp, argv[3], &testMode) != TCL_OK) {
+ return TCL_ERROR;
+ }
+ if (testMode) {
+ statePtr->flags |= TCP_ASYNC_TEST_MODE;
+ } else {
+ statePtr->flags &= ~TCP_ASYNC_TEST_MODE;
+ }
return TCL_OK;
}