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:
committed by
Jeffrey Altman
parent
1f53a40827
commit
c80816f9c3
@@ -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();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user