summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--glib/grand.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/glib/grand.c b/glib/grand.c
index 040562869..be301a4ed 100644
--- a/glib/grand.c
+++ b/glib/grand.c
@@ -216,11 +216,8 @@ g_rand_new (void)
FILE* dev_urandom;
do
- {
- errno = 0;
- dev_urandom = fopen("/dev/urandom", "rb");
- }
- while G_UNLIKELY (errno == EINTR);
+ dev_urandom = fopen("/dev/urandom", "rb");
+ while G_UNLIKELY (dev_urandom == NULL && errno == EINTR);
if (dev_urandom)
{