summaryrefslogtreecommitdiffhomepage
path: root/windows-service/src
diff options
context:
space:
mode:
authorAndrej Mihajlov <and@mullvad.net>2018-04-19 18:55:31 +0200
committerAndrej Mihajlov <and@mullvad.net>2018-04-23 21:51:59 +0200
commit308832d0df052dd4433bda2cc5c586ca9745c249 (patch)
treefb923fc7a264149837fe36d442b920bed8874a48 /windows-service/src
parent8f6f61ebd6a013f657a2523dbe4b4cfa1a1cb462 (diff)
downloadmullvadvpn-308832d0df052dd4433bda2cc5c586ca9745c249.tar.xz
mullvadvpn-308832d0df052dd4433bda2cc5c586ca9745c249.zip
Add basic windows service
Diffstat (limited to 'windows-service/src')
-rw-r--r--windows-service/src/service.rs8
1 files changed, 7 insertions, 1 deletions
diff --git a/windows-service/src/service.rs b/windows-service/src/service.rs
index f609221b8c..1898cf8c1c 100644
--- a/windows-service/src/service.rs
+++ b/windows-service/src/service.rs
@@ -3,7 +3,7 @@ use std::path::PathBuf;
use std::time::Duration;
use std::{io, mem};
-use winapi::shared::winerror::ERROR_SERVICE_SPECIFIC_ERROR;
+use winapi::shared::winerror::{ERROR_SERVICE_SPECIFIC_ERROR, NO_ERROR};
use winapi::um::{winnt, winsvc};
mod errors {
@@ -242,6 +242,12 @@ impl ServiceExitCode {
}
}
+impl Default for ServiceExitCode {
+ fn default() -> Self {
+ ServiceExitCode::Win32(NO_ERROR)
+ }
+}
+
impl<'a> From<&'a winsvc::SERVICE_STATUS> for ServiceExitCode {
fn from(service_status: &'a winsvc::SERVICE_STATUS) -> Self {
if service_status.dwWin32ExitCode == ERROR_SERVICE_SPECIFIC_ERROR {