diff options
| author | jan.nijtmans <nijtmans@users.sourceforge.net> | 2022-09-08 14:14:08 (GMT) | 
|---|---|---|
| committer | jan.nijtmans <nijtmans@users.sourceforge.net> | 2022-09-08 14:14:08 (GMT) | 
| commit | d2ed22d022756475d85c538b38cfe0c4fe4679e8 (patch) | |
| tree | afc16b8477cada11063d99fcf7ffff8218b48ab1 /generic/tclTest.c | |
| parent | 4c66b6ec4315475b1a2b49380da00926a9c4fbb6 (diff) | |
| parent | 607e3a5ba3c721c845b29c89db243882f25c5ba5 (diff) | |
| download | tcl-d2ed22d022756475d85c538b38cfe0c4fe4679e8.zip tcl-d2ed22d022756475d85c538b38cfe0c4fe4679e8.tar.gz tcl-d2ed22d022756475d85c538b38cfe0c4fe4679e8.tar.bz2  | |
Merge 8.7
Diffstat (limited to 'generic/tclTest.c')
| -rw-r--r-- | generic/tclTest.c | 17 | 
1 files changed, 14 insertions, 3 deletions
diff --git a/generic/tclTest.c b/generic/tclTest.c index a745ef0..f038817 100644 --- a/generic/tclTest.c +++ b/generic/tclTest.c @@ -91,8 +91,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) @@ -6401,6 +6400,10 @@ TestChannelEventCmd(   *----------------------------------------------------------------------   */ +#define TCP_ASYNC_TEST_MODE	(1<<8)	/* Async testing activated.  Do not +					 * automatically continue connection +					 * process. */ +  static int  TestSocketCmd(      TCL_UNUSED(void *), @@ -6422,6 +6425,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           */ @@ -6443,7 +6447,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;      }  | 
