diff options
-rwxr-xr-x | channels/chan_iax2.c | 2 | ||||
-rwxr-xr-x | include/asterisk/netsock.h | 2 | ||||
-rwxr-xr-x | netsock.c | 5 |
3 files changed, 9 insertions, 0 deletions
diff --git a/channels/chan_iax2.c b/channels/chan_iax2.c index 2ff97ca2b..e4695d82a 100755 --- a/channels/chan_iax2.c +++ b/channels/chan_iax2.c @@ -8640,6 +8640,7 @@ static int set_config(char *config_file, int reload) } if (defaultsockfd < 0) defaultsockfd = ast_netsock_sockfd(ns); + ast_netsock_unref(ns); } } } else if (!strcasecmp(v->name, "authdebug")) @@ -9568,6 +9569,7 @@ int load_module(void) if (option_verbose > 1) ast_verbose(VERBOSE_PREFIX_2 "Binding IAX2 to default address 0.0.0.0:%d\n", IAX_DEFAULT_PORTNO); defaultsockfd = ast_netsock_sockfd(ns); + ast_netsock_unref(ns); } } diff --git a/include/asterisk/netsock.h b/include/asterisk/netsock.h index dd1c3a8f6..73a2dd224 100755 --- a/include/asterisk/netsock.h +++ b/include/asterisk/netsock.h @@ -59,6 +59,8 @@ const struct sockaddr_in *ast_netsock_boundaddr(const struct ast_netsock *ns); void *ast_netsock_data(const struct ast_netsock *ns); +void ast_netsock_unref(struct ast_netsock *ns); + #if defined(__cplusplus) || defined(c_plusplus) } #endif @@ -214,3 +214,8 @@ void *ast_netsock_data(const struct ast_netsock *ns) { return ns->data; } + +void ast_netsock_unref(struct ast_netsock *ns) +{ + ASTOBJ_UNREF(ns, ast_netsock_destroy); +} |