Class: OpalWebpackCompileServer::Exe

Inherits:
Object
  • Object
show all
Defined in:
lib/opal-webpack-compile-server/exe.rb

Class Method Summary collapse

Class Method Details



113
114
115
# File 'lib/opal-webpack-compile-server/exe.rb', line 113

def self.dont_unlink_on_exit
  @unlink = false
end

.killObject



117
118
119
120
121
122
123
124
125
126
127
128
129
130
# File 'lib/opal-webpack-compile-server/exe.rb', line 117

def self.kill
  if File.exist?(OWCS_SOCKET_PATH)
    dont_unlink_on_exit
    begin
      s = UNIXSocket.new(OWCS_SOCKET_PATH)
      s.send("command:kill\n", 0)
      s.close
    rescue
      # socket cant be reached so owcs is already dead, delete socket
      unlink_on_exit
    end
    exit(0)
  end
end

.runObject



132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
# File 'lib/opal-webpack-compile-server/exe.rb', line 132

def self.run
  if File.exist?(OWCS_SOCKET_PATH) # OWCS already running
    puts 'Another Opal Webpack Compile Server already running, exiting'
    dont_unlink_on_exit
    exit(1)
  else
    unlink_on_exit
    load_paths = OpalWebpackCompileServer::LoadPathManager.get_load_paths
    if load_paths
      Opal.append_paths(*load_paths)
      Process.daemon(true)
      EventMachine.run do
        EventMachine.start_unix_domain_server(OWCS_SOCKET_PATH, OpalWebpackCompileServer::Compiler)
      end
    end
  end
end


109
110
111
# File 'lib/opal-webpack-compile-server/exe.rb', line 109

def self.unlink_on_exit
  @unlink = true
end

Returns:



105
106
107
# File 'lib/opal-webpack-compile-server/exe.rb', line 105

def self.unlink_socket?
  @unlink
end