about summary refs log tree commit homepage
path: root/ext/posix_mq/extconf.rb
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2016-02-02 22:14:16 +0000
committerEric Wong <e@80x24.org>2016-02-02 22:14:16 +0000
commitf14356733e83e5af35ec5c9f2346bf9607fc3a16 (patch)
tree452c857c9e93b2172021e99f6a09dfd96e50f963 /ext/posix_mq/extconf.rb
parent879bccec2058505f3d5c446595083649169b357c (diff)
downloadruby_posix_mq-f14356733e83e5af35ec5c9f2346bf9607fc3a16.tar.gz
IO#close under Ruby 2.3 is idempotent, we shall follow suit
with POSIX_MQ#close
Diffstat (limited to 'ext/posix_mq/extconf.rb')
-rw-r--r--ext/posix_mq/extconf.rb11
1 files changed, 11 insertions, 0 deletions
diff --git a/ext/posix_mq/extconf.rb b/ext/posix_mq/extconf.rb
index eb799b2..d433d1d 100644
--- a/ext/posix_mq/extconf.rb
+++ b/ext/posix_mq/extconf.rb
@@ -14,4 +14,15 @@ have_library("pthread")
 have_func("__mq_oshandle")
 have_func("mq_timedsend")
 have_func("mq_timedreceive")
+
+r, w = IO.pipe
+r.close
+w.close
+begin
+  r.close
+  $CPPFLAGS += ' -DIDEMPOTENT_IO_CLOSE=1'
+rescue IOError
+  $CPPFLAGS += ' -DIDEMPOTENT_IO_CLOSE=0'
+end
+
 create_makefile("posix_mq_ext")