rockbox/firmware/target/hosted/sdl
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
..
app Rewrite filesystem code (WIP) 2014-08-30 03:48:23 +02:00
button-sdl.c Fix (unintentional) linkage of HAVE_BUTTON_DATA with HAVE_TOUCHSCREEN 2014-03-18 10:56:19 +01:00
button-sdl.h Initial maemo platform support 2011-02-08 20:05:25 +00:00
buttonmap.h Rockbox as an application: Add an 320x240 SDL application target. 2010-07-06 15:11:56 +00:00
filesystem-sdl.c Rewrite filesystem code (WIP) 2014-08-30 03:48:23 +02:00
filesystem-sdl.h Rewrite filesystem code (WIP) 2014-08-30 03:48:23 +02:00
kernel-sdl.c Hopefully get shutdown/exit handling on SDL/maemo right. 2011-02-28 03:24:48 +00:00
key_to_touch-sdl.c fix button maps and assign some buttons for uisimulator. 2010-10-13 12:54:25 +00:00
lcd-bitmap.c lcd-24bit: Introduce a 24-bit mid-level LCD driver 2014-06-21 00:15:53 +02:00
lcd-bitmap.h
lcd-charcells.c Fix non-integer display_zoom for charcell. 2012-06-19 21:56:57 +02:00
lcd-charcells.h
lcd-remote-bitmap.c lcd drivers: Convert lcd_[remote_]framebuffer to a pointer 2012-02-28 11:44:59 +11:00
lcd-remote-bitmap.h
lcd-sdl.c Change display_zoom from int to double. 2012-06-19 21:27:53 +02:00
lcd-sdl.h Remove extraneous "extern int display_zoom" declarations. 2012-06-14 22:23:50 +02:00
load_code-sdl.c Rewrite filesystem code (WIP) 2014-08-30 03:48:23 +02:00
pcm-sdl.c Provide high resolution volume and prescaler to hosted targets. 2013-04-27 06:59:27 +02:00
sim-ui-defines.h zenxfistyle: add simulator bitmap and button map 2014-02-16 22:10:22 +01:00
system-sdl.c maemo port: Fix startup crash exposed by audio thread refactoring 2014-12-20 02:23:15 +01:00
system-sdl.h sim/sdlapp: Do not quit immediately on panicf, but wait for quit. 2014-02-02 16:59:29 +01:00
system-sim.h Rewrite filesystem code (WIP) 2014-08-30 03:48:23 +02:00
system-target.h Don't duplicate byteswap code. Invent system where NEED_GENERIC_BYTESWAPS is set if the generic functions from system.h are needed. 2010-07-15 22:01:06 +00:00
thread-sdl.c Base scheduler queues off linked lists and do cleanup/consolidation 2014-08-16 05:15:37 -04:00
thread-sdl.h Implement cooperative threads on hosted platforms using C code. 2011-02-18 22:46:01 +00:00
timer-sdl.c Add svn:keywords to firmware/target/hosted source files 2011-03-05 15:31:52 +00:00