summaryrefslogtreecommitdiff
path: root/source4/torture
diff options
context:
space:
mode:
Diffstat (limited to 'source4/torture')
-rw-r--r--source4/torture/raw/mux.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/source4/torture/raw/mux.c b/source4/torture/raw/mux.c
index f7d8b430df..a5fd0ed3f0 100644
--- a/source4/torture/raw/mux.c
+++ b/source4/torture/raw/mux.c
@@ -206,6 +206,7 @@ static BOOL test_mux_lock(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
BOOL ret = True;
struct smbcli_request *req;
struct smb_lock_entry lock[1];
+ struct timeval t;
printf("TESTING MULTIPLEXED LOCK/LOCK/UNLOCK\n");
@@ -238,6 +239,7 @@ static BOOL test_mux_lock(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
CHECK_STATUS(status, NT_STATUS_FILE_LOCK_CONFLICT);
printf("this will too, but we'll unlock while waiting\n");
+ t = timeval_current();
req = smb_raw_lock_send(cli->tree, &io);
printf("unlock the first range\n");
@@ -252,6 +254,12 @@ static BOOL test_mux_lock(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
status = smbcli_request_simple_recv(req);
CHECK_STATUS(status, NT_STATUS_OK);
+ printf("async lock took %.2f msec\n", timeval_elapsed(&t) * 1000);
+ if (timeval_elapsed(&t) > 0.1) {
+ printf("failed to trigger early lock retry\n");
+ return False;
+ }
+
printf("reopening with an exit\n");
smb_raw_exit(cli->session);
fnum = smbcli_open(cli->tree, BASEDIR "\\write.dat", O_RDWR | O_CREAT, DENY_NONE);