From 940c0b3cffa7f691620e7890ada15c7519817307 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Fri, 20 Dec 2019 01:39:14 +0000 Subject: provide fiddle-based eventfd implementation sleepy_penguin requires a compiler and development headers to install, so it could be a PITA to install for users on distro-provided Ruby. Allow fiddle since it's part of the Ruby standard library since 1.9.2 and users won't have to install anything else. --- lib/dtas/sigevent.rb | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'lib/dtas/sigevent.rb') diff --git a/lib/dtas/sigevent.rb b/lib/dtas/sigevent.rb index d4a96d7..74d22df 100644 --- a/lib/dtas/sigevent.rb +++ b/lib/dtas/sigevent.rb @@ -3,8 +3,11 @@ # frozen_string_literal: true begin raise LoadError, "no eventfd with _DTAS_POSIX" if ENV["_DTAS_POSIX"] - require 'sleepy_penguin' - require_relative 'sigevent/efd' + begin + require_relative 'sigevent/efd' + rescue LoadError + require_relative 'sigevent/fiddle_efd' + end rescue LoadError require_relative 'sigevent/pipe' end -- cgit v1.2.3-24-ge0c7