mirror of
https://github.com/samba-team/samba.git
synced 2024-12-25 23:21:54 +03:00
r22960: added a SOCKET_FLAG_NOCLOSE to allow us to tell the socket layer that
we will handle the close of the socket
This commit is contained in:
parent
6d06132ea9
commit
d57aaf5ba6
@ -30,7 +30,8 @@
|
||||
*/
|
||||
static int socket_destructor(struct socket_context *sock)
|
||||
{
|
||||
if (sock->ops->fn_close) {
|
||||
if (sock->ops->fn_close &&
|
||||
!(sock->flags & SOCKET_FLAG_NOCLOSE)) {
|
||||
sock->ops->fn_close(sock);
|
||||
}
|
||||
return 0;
|
||||
@ -547,3 +548,10 @@ _PUBLIC_ void set_socket_options(int fd, const char *options)
|
||||
talloc_free(options_list);
|
||||
}
|
||||
|
||||
/*
|
||||
set some flags on a socket
|
||||
*/
|
||||
void socket_set_flags(struct socket_context *sock, unsigned flags)
|
||||
{
|
||||
sock->flags |= flags;
|
||||
}
|
||||
|
@ -109,6 +109,8 @@ enum socket_state {
|
||||
* is encrypting data.
|
||||
* This modifies the
|
||||
* TESTNONBLOCK case */
|
||||
#define SOCKET_FLAG_NOCLOSE 0x00000010 /* don't auto-close on free */
|
||||
|
||||
|
||||
struct socket_context {
|
||||
enum socket_type type;
|
||||
@ -196,5 +198,6 @@ NTSTATUS socket_connect_multi(TALLOC_CTX *mem_ctx, const char *server_address,
|
||||
struct socket_context **result,
|
||||
uint16_t *port);
|
||||
void set_socket_options(int fd, const char *options);
|
||||
void socket_set_flags(struct socket_context *socket, unsigned flags);
|
||||
|
||||
#endif /* _SAMBA_SOCKET_H */
|
||||
|
Loading…
Reference in New Issue
Block a user