Class: OpalWebpackCompileServer::Exe

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

Class Method Summary collapse

Class Method Details



119
120
121
# File 'lib/opal-webpack-compile-server/exe.rb', line 119

def self.dont_unlink_on_exit
  @unlink = false
end

.runObject



138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
# File 'lib/opal-webpack-compile-server/exe.rb', line 138

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

.stopObject



123
124
125
126
127
128
129
130
131
132
133
134
135
136
# File 'lib/opal-webpack-compile-server/exe.rb', line 123

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


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

def self.unlink_on_exit
  @unlink = true
end

Returns:

  • (Boolean)


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

def self.unlink_socket?
  @unlink
end