diff options
| -rw-r--r-- | source4/lib/socket/socket.c | 4 | ||||
| -rw-r--r-- | source4/lib/socket/socket.h | 2 | ||||
| -rw-r--r-- | source4/param/loadparm.c | 3 | 
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)));  | 
