summaryrefslogtreecommitdiff
path: root/daemon/main.c
diff options
context:
space:
mode:
authorWilliam Jon McCann <jmccann@redhat.com>2010-06-30 10:20:43 -0400
committerRay Strode <rstrode@redhat.com>2010-08-17 13:45:20 -0400
commit9310418c63258dfd70cef46e2682cd9adc6c8f21 (patch)
tree3931193258559e6570482801acebc46b3aed3d1f /daemon/main.c
parent36e72382eb19c31ee9e59b72f27cb8537ef960dd (diff)
downloadgdm-9310418c63258dfd70cef46e2682cd9adc6c8f21.tar.gz
Wrap getpw* calls to retry in EINTR
if getpwnam(username) returns NULL, errno needs to be checked for EINTR. This indicates that a signal was received while waiting for the blocking call to return, and getpwnam() should be retried.
Diffstat (limited to 'daemon/main.c')
-rw-r--r--daemon/main.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/daemon/main.c b/daemon/main.c
index cfbc6c48..19bdf302 100644
--- a/daemon/main.c
+++ b/daemon/main.c
@@ -402,7 +402,7 @@ gdm_daemon_change_user (uid_t *uidp,
g_debug ("Changing user:group to %s:%s", username, groupname);
/* Lookup user and groupid for the GDM user */
- pwent = getpwnam (username);
+ gdm_get_pwent_for_name (username, &pwent);
/* Set uid and gid */
if G_UNLIKELY (pwent == NULL) {