summaryrefslogtreecommitdiff
path: root/libc/inet/resolv.c
diff options
context:
space:
mode:
Diffstat (limited to 'libc/inet/resolv.c')
-rw-r--r--libc/inet/resolv.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/libc/inet/resolv.c b/libc/inet/resolv.c
index b4246d377..692991f94 100644
--- a/libc/inet/resolv.c
+++ b/libc/inet/resolv.c
@@ -3532,7 +3532,7 @@ __res_vinit(res_state rp, int preinit)
return 0;
}
-static void
+static void attribute_noreturn
__res_iclose(void)
{
__UCLIBC_MUTEX_LOCK(__resolv_lock);
@@ -3551,7 +3551,9 @@ __res_iclose(void)
}
#endif
memset(&_res, 0, sizeof(_res));
- __UCLIBC_MUTEX_UNLOCK(__resolv_lock);
+ /* the loop is only to make gcc happy */
+ while(1)
+ __UCLIBC_MUTEX_UNLOCK(__resolv_lock);
}
/*