[pulseaudio-discuss] [PATCH] thread-win32: Implement pa_thread_free_nojoin()

Tanu Kaskinen tanu.kaskinen at linux.intel.com
Sun Jan 26 09:11:07 PST 2014


This fixes a build error with mingw32:

pulsecore/.libs/libpulsecommon_4.99_la-lock-autospawn.o: In function `unref':
/home/abuild/rpmbuild/BUILD/pulseaudio-4.99.2/src/pulsecore/lock-autospawn.c:123: undefined reference to `pa_thread_free_nojoin'
collect2: error: ld returned 1 exit status

pa_thread_free_nojoin() was initially only implemented for the pthread
based pa_thread backend, because it was incorrectly assumed that
autospawning (the only user of pa_thread_free_nojoin()) is not used on
Windows.

Reported-By: Michael DePaulo <mikedep333 at gmail.com>
---
 src/pulsecore/thread-win32.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/src/pulsecore/thread-win32.c b/src/pulsecore/thread-win32.c
index 89c8c46..0fa3b91 100644
--- a/src/pulsecore/thread-win32.c
+++ b/src/pulsecore/thread-win32.c
@@ -109,6 +109,13 @@ void pa_thread_free(pa_thread *t) {
     pa_xfree(t);
 }
 
+void pa_thread_free_nojoin(pa_thread *t) {
+    pa_assert(t);
+
+    CloseHandle(t->thread);
+    pa_xfree(t);
+}
+
 int pa_thread_join(pa_thread *t) {
     assert(t);
 
-- 
1.8.3.1



More information about the pulseaudio-discuss mailing list