Sha256: 3b1298692fa58d66385722a6721237805ada66e33fa04f71f355fd6ff45448e7

Contents?: true

Size: 654 Bytes

Versions: 8

Compression:

Stored size: 654 Bytes

Contents

# -*- encoding: binary -*-
# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net> and all contributors
# License: GPLv3 or later (https://www.gnu.org/licenses/gpl-3.0.txt)
class Yahns::Sigevent # :nodoc:
  attr_reader :to_io
  def initialize
    @to_io, @wr = Kgio::Pipe.new
    @to_io.close_on_exec = @wr.close_on_exec = true
  end

  def kgio_wait_readable(*args)
    @to_io.kgio_wait_readable(*args)
  end

  def sev_signal
    @wr.kgio_trywrite(".")
  end

  def yahns_step
    # 11 byte strings -> no malloc on YARV
    while String === @to_io.kgio_tryread(11)
    end
    :wait_readable
  end

  def close
    @to_io.close
    @wr.close
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
yahns-1.9.0 lib/yahns/sigevent_pipe.rb
yahns-1.8.0 lib/yahns/sigevent_pipe.rb
yahns-1.7.0 lib/yahns/sigevent_pipe.rb
yahns-1.6.0 lib/yahns/sigevent_pipe.rb
yahns-1.5.0 lib/yahns/sigevent_pipe.rb
yahns-1.4.0 lib/yahns/sigevent_pipe.rb
yahns-1.3.1 lib/yahns/sigevent_pipe.rb
yahns-1.3.0 lib/yahns/sigevent_pipe.rb