about summary refs log tree commit homepage
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2015-01-11 03:19:33 +0000
committerEric Wong <normalperson@yhbt.net>2015-01-11 03:20:21 +0000
commit98d594abf5053b70fe16459cb80da042bfcea510 (patch)
tree52e588fc9fe88f7d4ad737b5936a35ce11ff9d93
parent453e19e9631acbdc369acadbf17f705aa4cc8b47 (diff)
downloadruby_posix_mq-98d594abf5053b70fe16459cb80da042bfcea510.tar.gz
This should allow faster instructions to be used in some cases.
Technically this may be less pedantically correct, but there is
enough existing code out there which does the same thing to
discourage kernel/libc developers from overloading negative
return values.

...And glibc even favors comparison against zero, too.
-rw-r--r--ext/posix_mq/posix_mq.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/ext/posix_mq/posix_mq.c b/ext/posix_mq/posix_mq.c
index 14fe819..78544c8 100644
--- a/ext/posix_mq/posix_mq.c
+++ b/ext/posix_mq/posix_mq.c
@@ -521,7 +521,7 @@ static VALUE s_unlink(VALUE self, VALUE name)
 {
         int rv = mq_unlink(StringValueCStr(name));
 
-        if (rv == -1)
+        if (rv < 0)
                 rb_sys_fail("mq_unlink");
 
         return INT2NUM(1);
@@ -549,7 +549,7 @@ static VALUE _unlink(VALUE self)
         assert(TYPE(mq->name) == T_STRING && "mq->name is not a string");
 
         rv = mq_unlink(RSTRING_PTR(mq->name));
-        if (rv == -1)
+        if (rv < 0)
                 rb_sys_fail("mq_unlink");
 
         return self;
@@ -598,7 +598,7 @@ static VALUE _send(int sflags, int argc, VALUE *argv, VALUE self)
 
 retry:
         WITHOUT_GVL(xsend, &x, RUBY_UBF_IO, 0);
-        if (x.retval == -1) {
+        if (x.retval < 0) {
                 if (errno == EINTR)
                         goto retry;
                 if (errno == EAGAIN && (sflags & PMQ_TRY))
@@ -632,7 +632,7 @@ static VALUE send0(VALUE self, VALUE buffer)
 
 retry:
         WITHOUT_GVL(xsend, &x, RUBY_UBF_IO, 0);
-        if (x.retval == -1) {
+        if (x.retval < 0) {
                 if (errno == EINTR)
                         goto retry;
                 rb_sys_fail("mq_send");
@@ -814,7 +814,7 @@ static VALUE _close(VALUE self)
         struct posix_mq *mq = get(self, 1);
 
         if (! MQ_IO_CLOSE(mq)) {
-                if (mq_close(mq->des) == -1)
+                if (mq_close(mq->des) < 0)
                         rb_sys_fail("mq_close");
         }
         mq->des = MQD_INVALID;
@@ -901,12 +901,12 @@ static void my_mq_notify(mqd_t des, struct sigevent *not)
 {
         int rv = mq_notify(des, not);
 
-        if (rv == -1) {
+        if (rv < 0) {
                 if (errno == ENOMEM) {
                         rb_gc();
                         rv = mq_notify(des, not);
                 }
-                if (rv == -1)
+                if (rv < 0)
                         rb_sys_fail("mq_notify");
         }
 }