From 990d76f7cbd4339c30f650781c40463234fc47e1 Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Thu, 28 Oct 2004 07:55:33 +0000 Subject: r3314: added a option "socket:testnonblock" to the generic socket code. If you set this option (either on the command line using --option or in smb.conf) then every socket recv or send will return short by random amounts. This allows you to test that the non-blocking socket logic in your code works correctly. I also removed the flags argument to socket_accept(), and instead made the new socket inherit the flags of the old socket, which makes more sense to me. (This used to be commit 406d356e698da01c84e8aa5b7894752b4403f63c) --- source4/lib/socket/socket_unix.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'source4/lib/socket/socket_unix.c') diff --git a/source4/lib/socket/socket_unix.c b/source4/lib/socket/socket_unix.c index 239e4eb069..d160d897ee 100644 --- a/source4/lib/socket/socket_unix.c +++ b/source4/lib/socket/socket_unix.c @@ -124,8 +124,7 @@ static NTSTATUS unixdom_listen(struct socket_context *sock, } static NTSTATUS unixdom_accept(struct socket_context *sock, - struct socket_context **new_sock, - uint32_t flags) + struct socket_context **new_sock) { struct sockaddr_un cli_addr; socklen_t cli_addr_len = sizeof(cli_addr); @@ -136,7 +135,7 @@ static NTSTATUS unixdom_accept(struct socket_context *sock, return unixdom_error(errno); } - if (!(flags & SOCKET_FLAG_BLOCK)) { + if (!(sock->flags & SOCKET_FLAG_BLOCK)) { int ret = set_blocking(new_fd, False); if (ret == -1) { close(new_fd); @@ -153,7 +152,7 @@ static NTSTATUS unixdom_accept(struct socket_context *sock, /* copy the socket_context */ (*new_sock)->type = sock->type; (*new_sock)->state = SOCKET_STATE_SERVER_CONNECTED; - (*new_sock)->flags = flags; + (*new_sock)->flags = sock->flags; (*new_sock)->fd = new_fd; -- cgit