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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
193
80ca029f0906 Add a script to stop RLGWebD.
John "Elwin" Edwards
parents:
diff changeset
1 #!/usr/bin/env node
80ca029f0906 Add a script to stop RLGWebD.
John "Elwin" Edwards
parents:
diff changeset
2
80ca029f0906 Add a script to stop RLGWebD.
John "Elwin" Edwards
parents:
diff changeset
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
80ca029f0906 Add a script to stop RLGWebD.
John "Elwin" Edwards
parents:
diff changeset
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
80ca029f0906 Add a script to stop RLGWebD.
John "Elwin" Edwards
parents:
diff changeset
21 });
80ca029f0906 Add a script to stop RLGWebD.
John "Elwin" Edwards
parents:
diff changeset
22 });