aboutsummaryrefslogtreecommitdiff
path: root/lib/libUPnP/patches/0003-UPnP-reinstated-changed-make-sure-Neptune-threads-ar.patch
diff options
context:
space:
mode:
Diffstat (limited to 'lib/libUPnP/patches/0003-UPnP-reinstated-changed-make-sure-Neptune-threads-ar.patch')
-rw-r--r--lib/libUPnP/patches/0003-UPnP-reinstated-changed-make-sure-Neptune-threads-ar.patch46
1 files changed, 46 insertions, 0 deletions
diff --git a/lib/libUPnP/patches/0003-UPnP-reinstated-changed-make-sure-Neptune-threads-ar.patch b/lib/libUPnP/patches/0003-UPnP-reinstated-changed-make-sure-Neptune-threads-ar.patch
new file mode 100644
index 0000000000..ab199dfb0a
--- /dev/null
+++ b/lib/libUPnP/patches/0003-UPnP-reinstated-changed-make-sure-Neptune-threads-ar.patch
@@ -0,0 +1,46 @@
+From 922c1b38eddeca181acfba39c17e28819e8e18da Mon Sep 17 00:00:00 2001
+From: Alasdair Campbell <alcoheca@gmail.com>
+Date: Wed, 6 Jun 2012 19:22:09 +0100
+Subject: [PATCH] [UPnP] reinstated: 'changed: make sure Neptune threads are
+ named' by elupus @ 42d7b6b9180f634f988e12673de655228233b305
+
+---
+ .../Source/System/Win32/NptWin32Threads.cpp | 22 ++++++++++++++++++++++
+ 1 file changed, 22 insertions(+)
+
+diff --git a/lib/libUPnP/Neptune/Source/System/Win32/NptWin32Threads.cpp b/lib/libUPnP/Neptune/Source/System/Win32/NptWin32Threads.cpp
+index bd32fb3..aca91a1 100644
+--- a/lib/libUPnP/Neptune/Source/System/Win32/NptWin32Threads.cpp
++++ b/lib/libUPnP/Neptune/Source/System/Win32/NptWin32Threads.cpp
+@@ -506,6 +506,28 @@ NPT_Win32Thread::EntryPoint(void* argument)
+ NPT_System::GetCurrentTimeStamp(now);
+ NPT_System::SetRandomSeed((NPT_UInt32)(now.ToNanos()) + ::GetCurrentThreadId());
+
++ // set a default name
++ #pragma pack(push,8)
++ struct THREADNAME_INFO
++ {
++ DWORD dwType; // must be 0x1000
++ LPCSTR szName; // pointer to name (in same addr space)
++ DWORD dwThreadID; // thread ID (-1 caller thread)
++ DWORD dwFlags; // reserved for future use, most be zero
++ } info;
++ #pragma pack(pop)
++ info.dwType = 0x1000;
++ info.szName = "Neptune Thread";
++ info.dwThreadID = GetCurrentThreadId();
++ info.dwFlags = 0;
++ __try
++ {
++ RaiseException(0x406d1388, 0, sizeof(info) / sizeof(ULONG_PTR), (ULONG_PTR *)&info);
++ }
++ __except(EXCEPTION_EXECUTE_HANDLER)
++ {
++ }
++
+ // run the thread
+ thread->Run();
+
+--
+1.7.11.msysgit.0
+