Software /
code /
prosody
Comparison
plugins/mod_posix.lua @ 3341:a8a3e662fea7
mod_posix: Some (perhaps temporary) changes to re-lock the pidfile after truncating, to avoid breaking prosodyctl
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Fri, 09 Jul 2010 01:23:54 +0100 |
parent | 3340:0769cc5f34b6 |
child | 3471:482275e38224 |
comparison
equal
deleted
inserted
replaced
3340:0769cc5f34b6 | 3341:a8a3e662fea7 |
---|---|
93 local other_pid = pidfile_handle:read("*a"); | 93 local other_pid = pidfile_handle:read("*a"); |
94 module:log("error", "Another Prosody instance seems to be running with PID %s, quitting", other_pid); | 94 module:log("error", "Another Prosody instance seems to be running with PID %s, quitting", other_pid); |
95 pidfile_handle = nil; | 95 pidfile_handle = nil; |
96 prosody.shutdown("Prosody already running"); | 96 prosody.shutdown("Prosody already running"); |
97 else | 97 else |
98 pidfile_handle:close(); | |
98 pidfile_handle, err = io.open(pidfile, "w+"); | 99 pidfile_handle, err = io.open(pidfile, "w+"); |
99 if not pidfile_handle then | 100 if not pidfile_handle then |
100 module:log("error", "Couldn't write pidfile at %s; %s", pidfile, err); | 101 module:log("error", "Couldn't write pidfile at %s; %s", pidfile, err); |
101 prosody.shutdown("Couldn't write pidfile"); | 102 prosody.shutdown("Couldn't write pidfile"); |
103 else | |
104 if lfs.lock(pidfile_handle, "w") then | |
105 pidfile_handle:write(tostring(pposix.getpid())); | |
106 pidfile_handle:flush(); | |
107 end | |
102 end | 108 end |
103 pidfile_handle:write(tostring(pposix.getpid())); | |
104 pidfile_handle:flush(); | |
105 end | 109 end |
106 end | 110 end |
107 end | 111 end |
108 end | 112 end |
109 | 113 |