s3:rpc_client: return at least 10 sec as old timeout in rpccli_set_timeout() instead...
authorStefan Metzmacher <metze@samba.org>
Sun, 28 Mar 2010 17:34:34 +0000 (19:34 +0200)
committerKarolin Seeger <kseeger@samba.org>
Tue, 30 Mar 2010 08:33:41 +0000 (10:33 +0200)
metze
(cherry picked from commit 3e70da3f470eeb122f95477fb48d89939f501b3e)
(cherry picked from commit 60861fba533027b6c9a0ff704b95dcf631ea3ca3)

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)