Skip to content

Commit a5ab6f1

Browse files
committed
Correct terminate for Windows
1 parent b44ac02 commit a5ab6f1

File tree

3 files changed

+10
-14
lines changed

3 files changed

+10
-14
lines changed

httpserver.userprefs

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,15 @@
11
<Properties>
22
<MonoDevelop.Ide.Workspace ActiveConfiguration="Debug" />
3-
<MonoDevelop.Ide.Workbench ActiveDocument="httpserver/Server.cpp">
3+
<MonoDevelop.Ide.Workbench ActiveDocument="httpserver/System.cpp">
44
<Files>
5-
<File FileName="httpserver/Server.cpp" Line="107" Column="4" />
5+
<File FileName="httpserver/Server.cpp" Line="1" Column="1" />
66
<File FileName="httpserver/Server.h" Line="1" Column="1" />
77
<File FileName="httpserver/Main.cpp" Line="1" Column="1" />
88
<File FileName="httpserver/Main.h" Line="1" Column="1" />
99
<File FileName="httpserver/DataVariantMultipartFormData.h" Line="1" Column="1" />
1010
<File FileName="httpserver/DataVariantMultipartFormData.cpp" Line="1" Column="1" />
11-
<File FileName="httpserver/ServerOutput.h" Line="1" Column="1" />
12-
<File FileName="httpserver/ServerOutput.cpp" Line="1" Column="1" />
13-
<File FileName="httpserver/ServerApplicationAbstract.h" Line="1" Column="1" />
1411
<File FileName="httpserver/ServerRequest.h" Line="1" Column="1" />
1512
<File FileName="httpserver/ServerResponse.h" Line="1" Column="1" />
16-
<File FileName="httpserver/ServerApplicationAbstract.cpp" Line="1" Column="1" />
1713
<File FileName="httpserver/Event.cpp" Line="1" Column="1" />
1814
<File FileName="httpserver/DataVariantAbstract.h" Line="1" Column="1" />
1915
<File FileName="httpserver/DataVariantFormUrlencoded.h" Line="1" Column="1" />
@@ -28,16 +24,14 @@
2824
<File FileName="httpserver/DataVariantTextPlain.cpp" Line="1" Column="1" />
2925
<File FileName="httpserver/SignalsHandles.cpp" Line="1" Column="1" />
3026
<File FileName="httpserver/SignalsHandles.h" Line="1" Column="1" />
31-
<File FileName="httpserver/System.cpp" Line="1" Column="1" />
32-
<File FileName="httpserver/Socket.cpp" Line="86" Column="2" />
27+
<File FileName="httpserver/System.cpp" Line="39" Column="20" />
28+
<File FileName="httpserver/Socket.cpp" Line="1" Column="1" />
3329
<File FileName="httpserver/Utils.h" Line="1" Column="1" />
3430
<File FileName="httpserver/Utils.cpp" Line="1" Column="1" />
3531
<File FileName="httpserver/Socket.h" Line="1" Column="1" />
3632
<File FileName="httpserver/FileIncoming.h" Line="1" Column="1" />
3733
<File FileName="httpserver/RawData.h" Line="1" Column="1" />
3834
<File FileName="httpserver/FileIncoming.cpp" Line="1" Column="1" />
39-
<File FileName="httpserver/ResourceAbstract.cpp" Line="1" Column="1" />
40-
<File FileName="httpserver/ResourceAbstract.h" Line="1" Column="1" />
4135
</Files>
4236
</MonoDevelop.Ide.Workbench>
4337
<MonoDevelop.Ide.DebuggingService.Breakpoints>

httpserver/SignalsHandles.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
6767
return 0;
6868
}
6969

70-
int mainMessageLoop(HINSTANCE hInstance, HttpServer::Event *pCreatedWindow)
70+
WPARAM mainMessageLoop(HINSTANCE hInstance, HttpServer::Event *pCreatedWindow)
7171
{
7272
HWND hWnd = CreateWindow(wndClassName, nullptr, 0, CW_USEDEFAULT, CW_USEDEFAULT, 0, 0, nullptr, nullptr, hInstance, nullptr);
7373

httpserver/System.cpp

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ namespace System
1818

1919
::GetWindowThreadProcessId(hWnd, &process_id);
2020

21-
if (process_id == ed.process_id)
21+
if (process_id == ed.process_id && GetConsoleWindow() != hWnd)
2222
{
2323
ed.hWnd = hWnd;
2424

@@ -32,9 +32,11 @@ namespace System
3232
bool sendSignal(const native_processid_type pid, const int signal)
3333
{
3434
#ifdef WIN32
35-
EnumData ed = {pid, nullptr};
35+
EnumData ed = {pid, 0};
3636

37-
if (0 == ::EnumWindows(EnumProc, reinterpret_cast<LPARAM>(&ed) ) )
37+
::EnumWindows(EnumProc, reinterpret_cast<LPARAM>(&ed) );
38+
39+
if (0 == ed.hWnd)
3840
{
3941
return false;
4042
}

0 commit comments

Comments
 (0)