X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre%2Ftests%2Fmultiop.c;h=b147d9ddeae562e508b89f668a3338c9e88d29ca;hb=e52a140eb7f65a63f07dbb7e2aaff7f9e22974f2;hp=0402affeae8f8da963999abd4a7b1ebe520bd6c6;hpb=7a7e17d4db28fac1ca4bc333d60cbeb8dbc530d6;p=fs%2Flustre-release.git diff --git a/lustre/tests/multiop.c b/lustre/tests/multiop.c index 0402aff..b147d9d 100755 --- a/lustre/tests/multiop.c +++ b/lustre/tests/multiop.c @@ -45,7 +45,11 @@ char usage[] = " Y fdatasync\n" " z seek to zero\n"; -void null_handler(int unused) { } +static int usr1_received; +void usr1_handler(int unused) +{ + usr1_received = 1; +} static const char * pop_arg(int argc, char *argv[]) @@ -73,14 +77,17 @@ int main(int argc, char **argv) exit(1); } - signal(SIGUSR1, null_handler); + signal(SIGUSR1, usr1_handler); fname = argv[1]; for (commands = argv[2]; *commands; commands++) { switch (*commands) { case '_': - pause(); + if (usr1_received == 0) + pause(); + usr1_received = 0; + signal(SIGUSR1, usr1_handler); break; case 'c': if (close(fd) == -1) { @@ -96,7 +103,8 @@ int main(int argc, char **argv) } break; case 'D': - if (open(fname, O_DIRECTORY) == -1) { + fd = open(fname, O_DIRECTORY); + if (fd == -1) { perror("open(O_DIRECTORY)"); exit(1); } @@ -204,12 +212,14 @@ int main(int argc, char **argv) exit(1); } break; - case 'w': - if (write(fd, "w", 1) == -1) { + case 'w': { + int rc; + if ((rc = write(fd, "w", 1)) == -1) { perror("write"); exit(1); } break; + } case 'W': for (i = 0; i < mmap_len && mmap_ptr; i += 4096) mmap_ptr[i] += junk++;