vlc | branch: master | Hugo Beauzée-Luyssen <[email protected]> | Wed May 11 
21:39:38 2016 +0200| [8b7f2502cd7162399e449698e6ab2a87209a34e2] | committer: 
Hugo Beauzée-Luyssen

contribs: pthreads: Fix use of forbidden functions on winrt

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=8b7f2502cd7162399e449698e6ab2a87209a34e2
---

 contrib/src/pthreads/rules.mak   |    3 ++
 contrib/src/pthreads/winrt.patch |   56 ++++++++++++++++++++++++++++++++++++++
 2 files changed, 59 insertions(+)

diff --git a/contrib/src/pthreads/rules.mak b/contrib/src/pthreads/rules.mak
index 08ea7a5..d4b4f69 100644
--- a/contrib/src/pthreads/rules.mak
+++ b/contrib/src/pthreads/rules.mak
@@ -16,6 +16,9 @@ ifdef HAVE_WIN32
 pthreads: pthreads-w32-$(PTHREADS_W32_VERSION)-release.tar.gz .sum-pthreads
        $(UNPACK)
        sed -e 's/^CROSS.*=/CROSS ?=/' -i.orig $(UNPACK_DIR)/GNUmakefile
+ifdef HAVE_WINRT
+       $(APPLY) $(SRC)/pthreads/winrt.patch
+endif
        $(MOVE)
 
 ifdef HAVE_CROSS_COMPILE
diff --git a/contrib/src/pthreads/winrt.patch b/contrib/src/pthreads/winrt.patch
new file mode 100644
index 0000000..db64eba
--- /dev/null
+++ b/contrib/src/pthreads/winrt.patch
@@ -0,0 +1,56 @@
+--- pthreads/ptw32_getprocessors.c.orig        2016-05-11 20:50:47.774849703 
+0200
++++ pthreads/ptw32_getprocessors.c     2016-05-11 20:50:56.054865989 +0200
+@@ -55,6 +55,11 @@
+ int
+ ptw32_getprocessors (int *count)
+ {
++     SYSTEM_INFO systemInfo;
++     GetNativeSystemInfo(&systemInfo);
++     return systemInfo.dwNumberOfProcessors;
++#if 0
++
+   DWORD_PTR vProcessCPUs;
+   DWORD_PTR vSystemCPUs;
+   int result = 0;
+@@ -88,4 +93,5 @@
+ #endif
+ 
+   return (result);
++#endif
+ }
+--- pthreads/pthread_win32_attach_detach_np.c.orig     2016-05-11 
21:08:47.988487073 +0200
++++ pthreads/pthread_win32_attach_detach_np.c  2016-05-11 21:09:06.804511207 
+0200
+@@ -70,6 +70,7 @@
+    *
+    * This should take care of any security issues.
+    */
++#if 0
+ #if defined(__GNUC__) || _MSC_VER < 1400
+   if(GetSystemDirectory(QuserExDLLPathBuf, sizeof(QuserExDLLPathBuf)))
+   {
+@@ -97,6 +98,7 @@
+       GetProcAddress (ptw32_h_quserex, (LPCSTR) "QueueUserAPCEx");
+ #endif
+     }
++#endif
+ 
+   if (NULL == ptw32_register_cancelation)
+     {
+--- pthreads/pthread_cancel.c.orig     2016-05-11 22:43:53.653343096 +0200
++++ pthreads/pthread_cancel.c  2016-05-11 22:54:22.110220490 +0200
+@@ -62,6 +62,7 @@
+ DWORD
+ ptw32_RegisterCancelation (PAPCFUNC unused1, HANDLE threadH, DWORD unused2)
+ {
++#if 0
+   CONTEXT context;
+ 
+   context.ContextFlags = CONTEXT_CONTROL;
+@@ -69,6 +70,7 @@
+   PTW32_PROGCTR (context) = (DWORD_PTR) ptw32_cancel_self;
+   SetThreadContext (threadH, &context);
+   return 0;
++#endif
+ }
+ 
+ int

_______________________________________________
vlc-commits mailing list
[email protected]
https://mailman.videolan.org/listinfo/vlc-commits

Reply via email to