Class: Fusuma::Plugin::Appmatcher::UnsupportedBackend

Inherits:
Object
  • Object
show all
Includes:
UserSwitcher
Defined in:
lib/fusuma/plugin/appmatcher/unsupported_backend.rb

Overview

Dummy for unsupported Backend

Defined Under Namespace

Classes: Matcher

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from UserSwitcher

#as_user, #drop_priv, login_user

Constructor Details

#initializeUnsupportedBackend

Returns a new instance of UnsupportedBackend.



17
18
19
20
# File 'lib/fusuma/plugin/appmatcher/unsupported_backend.rb', line 17

def initialize
  # need IO object for IO.select()
  @reader, @writer = IO.pipe
end

Instance Attribute Details

#readerObject (readonly)

Returns the value of attribute reader.



15
16
17
# File 'lib/fusuma/plugin/appmatcher/unsupported_backend.rb', line 15

def reader
  @reader
end

#writerObject (readonly)

Returns the value of attribute writer.



15
16
17
# File 'lib/fusuma/plugin/appmatcher/unsupported_backend.rb', line 15

def writer
  @writer
end

Instance Method Details

#watch_startInteger

fork process and watch signal

Returns:

  • (Integer)

    Process id



24
25
26
27
28
29
30
31
32
# File 'lib/fusuma/plugin/appmatcher/unsupported_backend.rb', line 24

def watch_start
  @watch_start ||= begin
    pid = as_user(proctitle: self.class.name.underscore) do
      @reader.close
      sleep # stop indefinitely without using CPU
    end
    pid
  end
end