summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2008-11-02 01:15:42 +0100
committerJelmer Vernooij <jelmer@samba.org>2008-11-02 01:15:42 +0100
commit9265cb02d00843f43ba07d28093f959adf0738fe (patch)
tree9e6b268da3ac1cf2860a00e7473c308388e7a036
parenta76adc539788337a4a3aa77f7e6ef8f4defd3141 (diff)
downloadsamba-9265cb02d00843f43ba07d28093f959adf0738fe.tar.gz
samba-9265cb02d00843f43ba07d28093f959adf0738fe.tar.bz2
samba-9265cb02d00843f43ba07d28093f959adf0738fe.zip
Use a separate global for nonblocking socket testing rather than global_loadparm.
-rw-r--r--source4/lib/socket/socket.c4
-rw-r--r--source4/lib/socket/socket.h2
-rw-r--r--source4/param/loadparm.c3
3 files changed, 8 insertions, 1 deletions
diff --git a/source4/lib/socket/socket.c b/source4/lib/socket/socket.c
index 0c3d032068..3be841311a 100644
--- a/source4/lib/socket/socket.c
+++ b/source4/lib/socket/socket.c
@@ -25,6 +25,8 @@
#include "system/network.h"
#include "param/param.h"
+bool testnonblock = false;
+
/*
auto-close sockets on free
*/
@@ -70,7 +72,7 @@ _PUBLIC_ NTSTATUS socket_create_with_ops(TALLOC_CTX *mem_ctx, const struct socke
if (!(flags & SOCKET_FLAG_BLOCK) &&
type == SOCKET_TYPE_STREAM &&
- lp_parm_bool(global_loadparm, NULL, "socket", "testnonblock", false)) {
+ testnonblock) {
(*new_sock)->flags |= SOCKET_FLAG_TESTNONBLOCK;
}
diff --git a/source4/lib/socket/socket.h b/source4/lib/socket/socket.h
index 4baa0cfbb1..ec3afe8f7f 100644
--- a/source4/lib/socket/socket.h
+++ b/source4/lib/socket/socket.h
@@ -208,4 +208,6 @@ NTSTATUS socket_connect_multi(TALLOC_CTX *mem_ctx, const char *server_address,
void set_socket_options(int fd, const char *options);
void socket_set_flags(struct socket_context *socket, unsigned flags);
+extern bool testnonblock;
+
#endif /* _SAMBA_SOCKET_H */
diff --git a/source4/param/loadparm.c b/source4/param/loadparm.c
index b4098c840c..6494199fa4 100644
--- a/source4/param/loadparm.c
+++ b/source4/param/loadparm.c
@@ -65,6 +65,7 @@
#include "param/loadparm.h"
#include "libcli/raw/libcliraw.h"
#include "rpc_server/common/common.h"
+#include "lib/socket/socket.h"
#define standard_sub_basic talloc_strdup
@@ -2475,6 +2476,8 @@ bool lp_load(struct loadparm_context *lp_ctx, const char *filename)
reload_charcnv(lp_ctx);
+ testnonblock = lp_parm_bool(lp_ctx, NULL, "socket", "testnonblock", false);
+
/* FIXME: Check locale in environment for this: */
if (strcmp(lp_display_charset(lp_ctx), lp_unix_charset(lp_ctx)) != 0)
d_set_iconv(smb_iconv_open(lp_display_charset(lp_ctx), lp_unix_charset(lp_ctx)));