static void close_sd_bsock(UAContext *ua) { if (ua->jcr->store_bsock) { bnet_sig(ua->jcr->store_bsock, BNET_TERMINATE); bnet_close(ua->jcr->store_bsock); ua->jcr->store_bsock = NULL; } }
/* Called directly from job rescheduling */ void dird_free_jcr_pointers(JCR *jcr) { if (jcr->file_bsock) { Dmsg0(200, "Close File bsock\n"); bnet_close(jcr->file_bsock); jcr->file_bsock = NULL; } if (jcr->store_bsock) { Dmsg0(200, "Close Store bsock\n"); bnet_close(jcr->store_bsock); jcr->store_bsock = NULL; } bfree_and_null(jcr->sd_auth_key); bfree_and_null(jcr->where); bfree_and_null(jcr->RestoreBootstrap); bfree_and_null(jcr->ar); free_and_null_pool_memory(jcr->JobIds); free_and_null_pool_memory(jcr->client_uname); free_and_null_pool_memory(jcr->attr); free_and_null_pool_memory(jcr->fname); }
void free_ua_context(UAContext *ua) { if (ua->cmd) { free_pool_memory(ua->cmd); } if (ua->args) { free_pool_memory(ua->args); } if (ua->errmsg) { free_pool_memory(ua->errmsg); } if (ua->prompt) { free(ua->prompt); } if (ua->UA_sock) { bnet_close(ua->UA_sock); ua->UA_sock = NULL; } free(ua); }
/* * Free stuff common to all JCRs. N.B. Be careful to include only * generic stuff in the common part of the jcr. */ static void free_common_jcr(JCR *jcr) { jcr->destroy_mutex(); if (jcr->msg_queue) { delete jcr->msg_queue; jcr->msg_queue = NULL; } close_msg(jcr); /* close messages for this job */ /* do this after closing messages */ if (jcr->client_name) { free_pool_memory(jcr->client_name); jcr->client_name = NULL; } if (jcr->attr) { free_pool_memory(jcr->attr); jcr->attr = NULL; } if (jcr->sd_auth_key) { free(jcr->sd_auth_key); jcr->sd_auth_key = NULL; } if (jcr->VolumeName) { free_pool_memory(jcr->VolumeName); jcr->VolumeName = NULL; } if (jcr->dir_bsock) { bnet_close(jcr->dir_bsock); jcr->dir_bsock = NULL; } if (jcr->errmsg) { free_pool_memory(jcr->errmsg); jcr->errmsg = NULL; } if (jcr->where) { free(jcr->where); jcr->where = NULL; } if (jcr->RegexWhere) { free(jcr->RegexWhere); jcr->RegexWhere = NULL; } if (jcr->where_bregexp) { free_bregexps(jcr->where_bregexp); delete jcr->where_bregexp; jcr->where_bregexp = NULL; } if (jcr->cached_path) { free_pool_memory(jcr->cached_path); jcr->cached_path = NULL; jcr->cached_pnl = 0; } if (jcr->id_list) { free_guid_list(jcr->id_list); jcr->id_list = NULL; } remove_jcr_from_tsd(jcr); free(jcr); }