varlink: allow using varlink_wait() even with a server
authorLennart Poettering <lennart@poettering.net>
Wed, 29 May 2019 11:56:27 +0000 (13:56 +0200)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Thu, 4 Jul 2019 03:35:52 +0000 (12:35 +0900)
This call can be useful even if a server object is declared.

(Originally this was not supported, because a server typically needs to
handle multiple connections, and thus a synchronous wait on one would
starve the others out. But in some cases it might make sense to have
varlink point-to-point connections — i.e. where the server only handles
a single connection ever — and there it makes sense to synchronously
wait on the one connection).

src/shared/varlink.c

index dea8e43..4ecb763 100644 (file)
@@ -1002,7 +1002,6 @@ int varlink_wait(Varlink *v, usec_t timeout) {
         usec_t t;
 
         assert_return(v, -EINVAL);
-        assert_return(!v->server, -ENOTTY);
 
         if (v->state == VARLINK_DISCONNECTED)
                 return -ENOTCONN;