summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorSumit Bose <sbose@redhat.com>2010-07-23 15:45:46 +0200
committerStephen Gallagher <sgallagh@redhat.com>2010-07-23 10:15:01 -0400
commitef73b99b4feb506200291615a0093246a3bdc991 (patch)
tree70a52dcc4923c58baa811f3c67cabf903d36581f /src
parentce193d5bfca0630f040843f78c7b2c09de230343 (diff)
downloadsssd-ef73b99b4feb506200291615a0093246a3bdc991.tar.gz
sssd-ef73b99b4feb506200291615a0093246a3bdc991.tar.xz
sssd-ef73b99b4feb506200291615a0093246a3bdc991.zip
Allow sssd clients to reconnect
Currently the PAM and NSS client just return an error if there are problems on an open socket. This will lead to problems in long running programs like gdm if sssd is restarted, e.g. during an update. With this patch the socket is closed and reopened.
Diffstat (limited to 'src')
-rw-r--r--src/sss_client/common.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/src/sss_client/common.c b/src/sss_client/common.c
index a4856e088..6b79c7830 100644
--- a/src/sss_client/common.c
+++ b/src/sss_client/common.c
@@ -607,12 +607,11 @@ static enum sss_status sss_cli_check_socket(int *errnop, const char *socket_name
*errnop = EBADF;
break;
}
- if (*errnop) {
- sss_cli_close_socket();
- return SSS_STATUS_UNAVAIL;
+ if (*errnop == 0) {
+ return SSS_STATUS_SUCCESS;
}
- return SSS_STATUS_SUCCESS;
+ sss_cli_close_socket();
}
mysd = sss_nss_open_socket(errnop, socket_name);