diff --git a/ChangeLog b/ChangeLog index 914874c514..1650cb71bd 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,10 +1,12 @@ +2007-02-02 Ulrich Drepper + + * nscd/nscd_helper.c (open_socket): Minor size optimization. + 2007-02-02 Jakub Jelinek * include/locale.h (__uselocale): Add libc_hidden_proto. * locale/uselocale.c (__uselocale): Add libc_hidden_def. -2007-02-02 Jakub Jelinek - * nscd/nscd_helper.c (open_socket): Use __gettimeofday instead of gettimeofday. diff --git a/nscd/nscd_helper.c b/nscd/nscd_helper.c index b94bc02077..577c6a052a 100644 --- a/nscd/nscd_helper.c +++ b/nscd/nscd_helper.c @@ -127,6 +127,8 @@ open_socket (request_type type, const char *key, size_t keylen) bool first_try = true; struct timeval tvend; + /* Fake initializing tvend. */ + asm ("" : "=m" (tvend)); while (1) { #ifndef MSG_NOSIGNAL @@ -145,20 +147,18 @@ open_socket (request_type type, const char *key, size_t keylen) /* The daemon is busy wait for it. */ int to; + struct timeval now; + (void) __gettimeofday (&now, NULL); if (first_try) { - (void) __gettimeofday (&tvend, NULL); - tvend.tv_sec += 5; + tvend.tv_usec = now.tv_usec; + tvend.tv_sec = now.tv_sec + 5; to = 5 * 1000; first_try = false; } else - { - struct timeval now; - (void) __gettimeofday (&now, NULL); - to = ((tvend.tv_sec - now.tv_sec) * 1000 - + (tvend.tv_usec - now.tv_usec) / 1000); - } + to = ((tvend.tv_sec - now.tv_sec) * 1000 + + (tvend.tv_usec - now.tv_usec) / 1000); struct pollfd fds[1]; fds[0].fd = sock;