Actually, you know, build.
[invirt/third/libt4.git] / rsm_client.cc
index 9beb0b3..2e6d33d 100644 (file)
@@ -28,8 +28,8 @@ void rsm_client::primary_failure() {
     known_mems.pop_back();
 }
 
-rsm_protocol::status rsm_client::invoke(int proc, std::string req, std::string &rep) {
-    int ret;
+rsm_protocol::status rsm_client::invoke(int proc, std::string &rep, const std::string &req) {
+    int ret = 0;
     lock ml(rsm_client_mutex);
     while (1) {
         printf("rsm_client::invoke proc %x primary %s\n", proc, primary.c_str());
@@ -38,7 +38,7 @@ rsm_protocol::status rsm_client::invoke(int proc, std::string req, std::string &
         ml.unlock();
         rpcc *cl = h.safebind();
         if (cl)
-            ret = cl->call(rsm_client_protocol::invoke, proc, req, rep, rpcc::to(5000));
+            ret = cl->call_timeout(rsm_client_protocol::invoke, rpcc::to(5000), rep, proc, req);
         ml.lock();
 
         if (!cl)
@@ -77,8 +77,7 @@ bool rsm_client::init_members() {
         ml.unlock();
         cl = h.safebind();
         if (cl) {
-            ret = cl->call(rsm_client_protocol::members, 0, known_mems,
-                    rpcc::to(1000));
+            ret = cl->call_timeout(rsm_client_protocol::members, rpcc::to(1000), known_mems, 0);
         }
         ml.lock();
     }