diff --git a/src/plugins/PamAuth/pamauth.c b/src/plugins/PamAuth/pamauth.c index da8869d..1e2250a 100644 --- a/src/plugins/PamAuth/pamauth.c +++ b/src/plugins/PamAuth/pamauth.c @@ -94,6 +94,7 @@ static int pamfunc(struct clientparam *param) { retval = pam_start ((char *)service, "3proxy@" , &conv, &pamh); } + pthread_mutex_unlock(&pam_mutex); if (retval == PAM_SUCCESS) retval = pam_set_item (pamh, PAM_USER, param->username); /*fprintf(stderr,"pam_set_item1 rc=%d\n",retval);*/ @@ -111,7 +112,6 @@ static int pamfunc(struct clientparam *param) retval = pam_end (pamh, retval); if (retval != PAM_SUCCESS) { pamh = NULL; } - pthread_mutex_unlock(&pam_mutex); return rc;