summaryrefslogtreecommitdiff
path: root/source4/torture/nbench/nbench.c
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2004-11-03 10:09:48 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:05:23 -0500
commitdde07058075d357cfdc63624c8dcaa67ebd40add (patch)
treec3f29090e37f1bc103a3d6051e708d1ebbe305a5 /source4/torture/nbench/nbench.c
parent90a8c4acc7e673e6439197776d19cc4b095ac322 (diff)
downloadsamba-dde07058075d357cfdc63624c8dcaa67ebd40add.tar.gz
samba-dde07058075d357cfdc63624c8dcaa67ebd40add.tar.bz2
samba-dde07058075d357cfdc63624c8dcaa67ebd40add.zip
r3507: - added deferred replies on sharing violation in pvfs open. The
deferred reply is short-circuited immediately when the file is closed by another user, allowing it to be opened by the waiting user. - added a sane set of timeval manipulation routines - converted all the events code and code that uses it to use struct timeval instead of time_t, which allows for microsecond resolution instead of 1 second resolution. This was needed for doing the pvfs deferred open code, and is why the patch is so big. (This used to be commit 0d51511d408d91eb5f68a35e980e0875299b1831)
Diffstat (limited to 'source4/torture/nbench/nbench.c')
-rw-r--r--source4/torture/nbench/nbench.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/source4/torture/nbench/nbench.c b/source4/torture/nbench/nbench.c
index 0b4bf4bbf1..1c90658f49 100644
--- a/source4/torture/nbench/nbench.c
+++ b/source4/torture/nbench/nbench.c
@@ -37,6 +37,9 @@ static BOOL run_netbench(struct smbcli_state *cli, int client)
fstring params[20];
const char *p;
BOOL correct = True;
+ struct timeval tv;
+
+ tv = timeval_current();
nb_setup(cli, client, warmup);
@@ -52,15 +55,15 @@ static BOOL run_netbench(struct smbcli_state *cli, int client)
again:
while (fgets(line, sizeof(line)-1, f)) {
NTSTATUS status;
- double t = end_timer();
- if (warmup && t >= warmup) {
+ if (warmup &&
+ timeval_elapsed(&tv) >= warmup) {
warmup = 0;
nb_warmup_done();
- start_timer();
+ tv = timeval_current();
}
- if (end_timer() >= timelimit) {
+ if (timeval_elapsed(&tv) >= timelimit) {
goto done;
}