rockbox/firmware/target/hosted
Thomas Jarosch c55be3b83a maemo port: Fix startup crash exposed by audio thread refactoring
The refactoring of the audio thread in this commit
-----------------------------------------------
commit 5857c44017
Author: Michael Sevakis <jethead71@rockbox.org>
Date:   Fri May 31 02:41:02 2013 -0400

    Refactor audio thread to run both recording and playback.
-----------------------------------------------

moved pcm_init() next to dsp_init() in apps/main.c:init().
Before that pcm_init() was called by audio_init().

Unfortunately the maemo init code didn't properly
wait until the maemo thread was fully initialized,
leading to dangling pointers when the code called
by pcm_init() tried to access maemo's variables.

Fix it by refactoring the "very fast shutdown" semaphore
to wait until maemo is initialized in any case.

This should also fix very rare rockbox crashes
on startup that I got once a year or so.
The new code has been tested by a script that
starts and kills rockbox after one second.

Change-Id: I464efce5f2b71ca869c72a5bc578555b8022e459
2014-12-20 02:23:15 +01:00
..
android Enable battery charging detection for iBasso DX50/DX90. 2014-10-18 05:31:34 +02:00
maemo Do some cleanup, adjustment and a couple fixes to recent sound changes. 2013-04-22 20:38:17 -04:00
samsungypr Get the last errors I hope! 2014-08-30 01:29:18 -04:00
sdl maemo port: Fix startup crash exposed by audio thread refactoring 2014-12-20 02:23:15 +01:00
cpuinfo-linux.c *frequency_linux(): factorize 2012-01-04 00:34:02 +00:00
cpuinfo-linux.h *frequency_linux(): factorize 2012-01-04 00:34:02 +00:00
debug-hosted.c Include stdlib.h for atexit(). 2012-01-25 22:49:19 +01:00
filesystem-app.c ypr0: Get it up and running again 2014-12-09 23:20:00 +01:00
filesystem-app.h Rewrite filesystem code (WIP) 2014-08-30 03:48:23 +02:00
filesystem-hosted.h Hopefully fix most of the errors and warnings from the last push 2014-08-29 23:36:11 -04:00
filesystem-unix.c Rewrite filesystem code (WIP) 2014-08-30 03:48:23 +02:00
filesystem-unix.h Rewrite filesystem code (WIP) 2014-08-30 03:48:23 +02:00
filesystem-win32.c Rewrite filesystem code (WIP) 2014-08-30 03:48:23 +02:00
filesystem-win32.h Rewrite filesystem code (WIP) 2014-08-30 03:48:23 +02:00
kernel-unix.c Do not include kernel.h in system.h. 2014-01-05 19:35:23 +01:00
kernel-unix.h android/ypr0: Merge kernel-*.c to generic kernel-unix.c. 2012-01-21 18:39:19 +01:00
lc-unix.c Rewrite filesystem code (WIP) 2014-08-30 03:48:23 +02:00
pcm-alsa.c Tweak some PCM drivers for less typecasting with the data pointer. 2012-03-04 08:52:50 -05:00
rtc.c Return -1 for not implemented RTC functions. 2011-03-08 21:36:47 +00:00
system-hosted.h Add normal alloca() definition and implement a strdupa and friends 2014-08-29 22:06:59 -04:00