****************************************************************************/
void conn_free(connection_struct *conn)
{
+ /* Close dlopen() handle */
+
+ if (conn->vfs_conn->dl_handle != NULL) {
+ dlclose(conn->vfs_conn->dl_handle); /* should we check return val? */
+ }
+
+ /* Free vfs_connection_struct */
+
+ if (conn->vfs_conn != NULL) {
+ if (conn->vfs_conn->groups != NULL) {
+ free(conn->vfs_conn->groups);
+ }
+ free(conn->vfs_conn);
+ }
+
DLIST_REMOVE(Connections, conn);
if (conn->ngroups && conn->groups) {
}
- /* Close dlopen() handle */
-
- if (conn->vfs_conn->dl_handle != NULL) {
- dlclose(conn->vfs_conn->dl_handle); /* should we check return val? */
- }
-
- /* Free vfs_connection_struct */
-
- if (conn->vfs_conn != NULL) {
- if (conn->vfs_conn->groups != NULL) {
- free(conn->vfs_conn->groups);
- }
- free(conn->vfs_conn);
- }
-
yield_connection(conn,
lp_servicename(SNUM(conn)),
lp_max_connections(SNUM(conn)));
standard_sub_conn(conn,cmd);
smbrun(cmd,NULL,False);
}
-
conn_free(conn);
}