Jump to content

Determine if only one instance is running: Difference between revisions

Fix formatting
(Check SocketOSException type)
(Fix formatting)
Line 374:
<lang d>import std.socket;
 
import std.socket;
bool is_unique_instance() {
 
bool is_unique_instance() {
{
auto socket = new Socket(AddressFamily.UNIX, SocketType.STREAM);
auto addr = new UnixAddress("\0/tmp/myapp.uniqueness.sock");
try {
{
socket.bind(addr);
return true;
}
} catch (SocketOSException e) {
{
import core.stdc.errno : EADDRINUSE;
 
if (e.errorCode == EADDRINUSE) {
{
log("Duplicate instance detected.");
return false;
}
}
else {
else
throw e;
{
}
throw e;
}
}
}
8

edits

Cookies help us deliver our services. By using our services, you agree to our use of cookies.