s3:rpc_client: return at least 10 sec as old timeout in rpccli_set_timeout() instead...
[samba.git] / source3 / rpc_client / cli_pipe.c
index 4fc36581dbfe6f4635fc01d3b1f11ee31e151f8a..ee60c1db0449cc1daae6b229eea35c67afa71cc1 100644 (file)
@@ -3031,18 +3031,27 @@ NTSTATUS rpc_pipe_bind(struct rpc_pipe_client *cli,
        return status;
 }
 
+#define RPCCLI_DEFAULT_TIMEOUT 10000 /* 10 seconds. */
+
 unsigned int rpccli_set_timeout(struct rpc_pipe_client *rpc_cli,
                                unsigned int timeout)
 {
+       unsigned int old;
+
        if (rpc_cli->transport == NULL) {
-               return 0;
+               return RPCCLI_DEFAULT_TIMEOUT;
        }
 
        if (rpc_cli->transport->set_timeout == NULL) {
-               return 0;
+               return RPCCLI_DEFAULT_TIMEOUT;
+       }
+
+       old = rpc_cli->transport->set_timeout(rpc_cli->transport->priv, timeout);
+       if (old == 0) {
+               return RPCCLI_DEFAULT_TIMEOUT;
        }
 
-       return rpc_cli->transport->set_timeout(rpc_cli->transport->priv, timeout);
+       return old;
 }
 
 bool rpccli_is_connected(struct rpc_pipe_client *rpc_cli)