diff options
Diffstat (limited to 'libmapper/app.c')
-rw-r--r-- | libmapper/app.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/libmapper/app.c b/libmapper/app.c index 7efc08c..aa42461 100644 --- a/libmapper/app.c +++ b/libmapper/app.c @@ -119,7 +119,10 @@ static int wait_main(int argc, char *argv[]) goto finish; } - r = mapper_wait_async(conn, loop, argv+2, quit, loop, &wait); + if (!strcmp(argv[1], "wait")) + r = mapper_wait_async(conn, loop, argv+2, quit, loop, &wait, true); + else if (!strcmp(argv[1], "wait-until-removed")) + r = mapper_wait_async(conn, loop, argv+2, quit, loop, &wait, false); if(r < 0) { fprintf(stderr, "Error configuring waitlist: %s\n", strerror(-r)); @@ -178,6 +181,8 @@ int main(int argc, char *argv[]) "\nCOMMANDS:\n" " call invoke the specified method\n" " wait wait for the specified objects to appear on the DBus\n" + " wait-until-removed" + " wait until the specified objects are not present in the DBus\n" " get-service return the service identifier for input path\n"; if(argc < 2) { @@ -187,7 +192,8 @@ int main(int argc, char *argv[]) if(!strcmp(argv[1], "call")) call_main(argc, argv); - if(!strcmp(argv[1], "wait")) + if(!strcmp(argv[1], "wait") || + !strcmp(argv[1], "wait-until-removed")) wait_main(argc, argv); if(!strcmp(argv[1], "get-service")) get_service_main(argc, argv); |