about summary refs log tree commit homepage
path: root/thrpool.c
diff options
context:
space:
mode:
authorEric Wong <normalperson@yhbt.net>2013-02-16 12:55:42 +0000
committerEric Wong <normalperson@yhbt.net>2013-02-16 12:55:42 +0000
commit719e4fc320e1978bc9ea6ee8be9f8249dcb54dab (patch)
tree4c736a4619c9f2ad373bb05e3711520e88b9f8cf /thrpool.c
parent13cbdcea65248271668562064aafdcc9634ef9ce (diff)
downloadcmogstored-719e4fc320e1978bc9ea6ee8be9f8249dcb54dab.tar.gz
Older glibc will return ENOMEM on mprotect() failures.  This bug
was only fixed in 2011, so the long-term distros and old
installations may not have the necessary backports.

ref: http://www.sourceware.org/bugzilla/show_bug.cgi?id=386
Diffstat (limited to 'thrpool.c')
-rw-r--r--thrpool.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/thrpool.c b/thrpool.c
index 718c568..8030e19 100644
--- a/thrpool.c
+++ b/thrpool.c
@@ -96,7 +96,7 @@ static void thrpool_set_size(struct mog_thrpool *tp, size_t size)
                 if (rc == 0) {
                         tp->n_threads++;
                         nr_eagain = 0;
-                } else if (rc == EAGAIN) {
+                } else if (mog_pthread_create_retry(rc)) {
                         if (!thr_create_fail_retry(tp, size, &nr_eagain, rc))
                                 goto out;
                 } else {