krb5_context: embed mutex in structure

Instead of allocating a separate mutex object on the heap,
include the HEIMDAL_MUTEX in the krb5_context structure.

Change-Id: If6db484177410487176985e43e3b43e0f2166518
This commit is contained in:
Nicolas Williams
2016-03-31 22:06:37 -05:00
committed by Jeffrey Altman
parent 1f53a40827
commit c80816f9c3
5 changed files with 20 additions and 38 deletions

View File

@@ -422,12 +422,7 @@ krb5_init_context(krb5_context *context)
if(!p)
return ENOMEM;
p->mutex = malloc(sizeof(HEIMDAL_MUTEX));
if (p->mutex == NULL) {
free(p);
return ENOMEM;
}
HEIMDAL_MUTEX_init(p->mutex);
HEIMDAL_MUTEX_init(&p->mutex);
p->flags |= KRB5_CTX_F_HOMEDIR_ACCESS;
@@ -520,13 +515,7 @@ krb5_copy_context(krb5_context context, krb5_context *out)
if (p == NULL)
return krb5_enomem(context);
p->mutex = malloc(sizeof(HEIMDAL_MUTEX));
if (p->mutex == NULL) {
free(p);
return krb5_enomem(context);
}
HEIMDAL_MUTEX_init(p->mutex);
HEIMDAL_MUTEX_init(&p->mutex);
if (context->default_cc_name)
p->default_cc_name = strdup(context->default_cc_name);
@@ -627,8 +616,7 @@ krb5_free_context(krb5_context context)
hx509_context_free(&context->hx509ctx);
#endif
HEIMDAL_MUTEX_destroy(context->mutex);
free(context->mutex);
HEIMDAL_MUTEX_destroy(&context->mutex);
if (context->flags & KRB5_CTX_F_SOCKETS_INITIALIZED) {
rk_SOCK_EXIT();
}