]> code.delx.au - pulseaudio/commitdiff
thread-win32: Implement pa_thread_free_nojoin()
authorTanu Kaskinen <tanu.kaskinen@linux.intel.com>
Sun, 26 Jan 2014 17:11:07 +0000 (19:11 +0200)
committerTanu Kaskinen <tanu.kaskinen@linux.intel.com>
Thu, 30 Jan 2014 08:47:46 +0000 (10:47 +0200)
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@gmail.com>
src/pulsecore/thread-win32.c

index 89c8c4632192d0056d0a2e8e72dba0076cbb7855..0fa3b917fc3297b66f628c862311e8b018aaa032 100644 (file)
@@ -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);