diff options
-rw-r--r-- | source4/torture/local/messaging.c | 29 |
1 files changed, 15 insertions, 14 deletions
diff --git a/source4/torture/local/messaging.c b/source4/torture/local/messaging.c index f12f3f6bdf..75e51fb534 100644 --- a/source4/torture/local/messaging.c +++ b/source4/torture/local/messaging.c @@ -55,27 +55,26 @@ static void exit_message(struct messaging_context *msg, void *private, */ static BOOL test_ping_speed(TALLOC_CTX *mem_ctx) { - struct event_context *ev = event_context_init(mem_ctx); + struct event_context *ev; struct messaging_context *msg_ctx; + struct messaging_context *msg_ctx2; int ping_count = 0; int pong_count = 0; BOOL ret = True; struct timeval tv; - if (fork() == 0) { - struct messaging_context *msg_ctx2 = messaging_init(mem_ctx, 1, ev); + lp_set_cmdline("lock dir", "lockdir.tmp"); + + ev = event_context_init(mem_ctx); + + msg_ctx2 = messaging_init(mem_ctx, 1, ev); - if (!msg_ctx2) { - exit(1); - } - - messaging_register(msg_ctx2, NULL, MY_PING, ping_message); - messaging_register(msg_ctx2, mem_ctx, MY_EXIT, exit_message); - event_loop_wait(ev); - exit(0); + if (!msg_ctx2) { + exit(1); } - - sleep(2); + + messaging_register(msg_ctx2, NULL, MY_PING, ping_message); + messaging_register(msg_ctx2, mem_ctx, MY_EXIT, exit_message); msg_ctx = messaging_init(mem_ctx, 2, ev); @@ -124,7 +123,8 @@ static BOOL test_ping_speed(TALLOC_CTX *mem_ctx) messaging_send(msg_ctx, 1, MY_EXIT, NULL); if (ping_count != pong_count) { - printf("ping test failed! received %d, sent %d\n", pong_count, ping_count); + printf("ping test failed! received %d, sent %d\n", + pong_count, ping_count); ret = False; } @@ -134,6 +134,7 @@ static BOOL test_ping_speed(TALLOC_CTX *mem_ctx) talloc_free(msg_ctx); talloc_free(ev); + return ret; } |