Mercurial > hg > rlgwebd
annotate rlgwebd-stop @ 200:a7cc38a0168d
Actually restart RLGWebD if it crashes.
Also, rlgwebd-stop will no longer crash if RLGWebD has already stopped.
author | John "Elwin" Edwards |
---|---|
date | Sat, 23 Apr 2016 18:53:08 -0400 |
parents | 3bdee6371c3f |
children | ffe22d88bea1 |
rev | line source |
---|---|
193 | 1 #!/usr/bin/env node |
2 | |
3 var net = require('net'); | |
200
a7cc38a0168d
Actually restart RLGWebD if it crashes.
John "Elwin" Edwards
parents:
195
diff
changeset
|
4 var domain = require('domain'); |
194
5483d413a45b
RLGWebD: move the control socket into /var/run.
John "Elwin" Edwards
parents:
193
diff
changeset
|
5 var sockpath = "/var/run/rlgwebd.sock"; |
193 | 6 |
200
a7cc38a0168d
Actually restart RLGWebD if it crashes.
John "Elwin" Edwards
parents:
195
diff
changeset
|
7 var dom = domain.create(); |
a7cc38a0168d
Actually restart RLGWebD if it crashes.
John "Elwin" Edwards
parents:
195
diff
changeset
|
8 |
a7cc38a0168d
Actually restart RLGWebD if it crashes.
John "Elwin" Edwards
parents:
195
diff
changeset
|
9 dom.on('error', function (err) { |
a7cc38a0168d
Actually restart RLGWebD if it crashes.
John "Elwin" Edwards
parents:
195
diff
changeset
|
10 console.log("Cannot connect to " + sockpath + ", rlgwebd already stopped."); |
a7cc38a0168d
Actually restart RLGWebD if it crashes.
John "Elwin" Edwards
parents:
195
diff
changeset
|
11 process.exit(0); |
a7cc38a0168d
Actually restart RLGWebD if it crashes.
John "Elwin" Edwards
parents:
195
diff
changeset
|
12 }); |
a7cc38a0168d
Actually restart RLGWebD if it crashes.
John "Elwin" Edwards
parents:
195
diff
changeset
|
13 |
a7cc38a0168d
Actually restart RLGWebD if it crashes.
John "Elwin" Edwards
parents:
195
diff
changeset
|
14 dom.run(function () { |
a7cc38a0168d
Actually restart RLGWebD if it crashes.
John "Elwin" Edwards
parents:
195
diff
changeset
|
15 var sock = net.connect(sockpath, function () { |
a7cc38a0168d
Actually restart RLGWebD if it crashes.
John "Elwin" Edwards
parents:
195
diff
changeset
|
16 sock.on('close', function () { |
a7cc38a0168d
Actually restart RLGWebD if it crashes.
John "Elwin" Edwards
parents:
195
diff
changeset
|
17 if (process.argv[2] == "debug") |
a7cc38a0168d
Actually restart RLGWebD if it crashes.
John "Elwin" Edwards
parents:
195
diff
changeset
|
18 console.log("Control socket closed"); |
a7cc38a0168d
Actually restart RLGWebD if it crashes.
John "Elwin" Edwards
parents:
195
diff
changeset
|
19 }); |
a7cc38a0168d
Actually restart RLGWebD if it crashes.
John "Elwin" Edwards
parents:
195
diff
changeset
|
20 sock.write("quit\n"); |
193 | 21 }); |
22 }); |