diff options
author | Miika Pekkarinen <miipekk@ihme.org> | 2007-04-01 11:33:33 +0000 |
---|---|---|
committer | Miika Pekkarinen <miipekk@ihme.org> | 2007-04-01 11:33:33 +0000 |
commit | 28b061d1e38d2cf5a8a63e431b521051dded123a (patch) | |
tree | bea895c1ae0ac856755c510c956952fea51ed003 | |
parent | 9f2b5cce840102f68f93d4de3380075913def3f3 (diff) | |
download | rockbox-28b061d1e38d2cf5a8a63e431b521051dded123a.tar.gz rockbox-28b061d1e38d2cf5a8a63e431b521051dded123a.zip |
remove_thread(NULL) contained a null pointer bug causing a crash.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12988 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r-- | firmware/thread.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/firmware/thread.c b/firmware/thread.c index 5cab03e3db..a1c45bb187 100644 --- a/firmware/thread.c +++ b/firmware/thread.c | |||
@@ -69,10 +69,10 @@ static long cores_locked IBSS_ATTR; | |||
69 | #define LOCK(...) do { } while (test_and_set(&cores_locked, 1)) | 69 | #define LOCK(...) do { } while (test_and_set(&cores_locked, 1)) |
70 | #define UNLOCK(...) cores_locked = 0 | 70 | #define UNLOCK(...) cores_locked = 0 |
71 | 71 | ||
72 | #warning "Core locking mechanism should be fixed on H10/4G!" | 72 | //#warning "Core locking mechanism should be fixed on H10/4G!" |
73 | inline void lock_cores(void) | 73 | inline void lock_cores(void) |
74 | { | 74 | { |
75 | #if 0 | 75 | #if 1 |
76 | if (!cores[CURRENT_CORE].lock_issued) | 76 | if (!cores[CURRENT_CORE].lock_issued) |
77 | { | 77 | { |
78 | LOCK(); | 78 | LOCK(); |
@@ -83,7 +83,7 @@ inline void lock_cores(void) | |||
83 | 83 | ||
84 | inline void unlock_cores(void) | 84 | inline void unlock_cores(void) |
85 | { | 85 | { |
86 | #if 0 | 86 | #if 1 |
87 | if (cores[CURRENT_CORE].lock_issued) | 87 | if (cores[CURRENT_CORE].lock_issued) |
88 | { | 88 | { |
89 | cores[CURRENT_CORE].lock_issued = false; | 89 | cores[CURRENT_CORE].lock_issued = false; |
@@ -852,7 +852,7 @@ void remove_thread(struct thread_entry *thread) | |||
852 | lock_cores(); | 852 | lock_cores(); |
853 | 853 | ||
854 | if (thread == NULL) | 854 | if (thread == NULL) |
855 | thread = cores[IF_COP2(thread->core)].running; | 855 | thread = cores[CURRENT_CORE].running; |
856 | 856 | ||
857 | /* Free the entry by removing thread name. */ | 857 | /* Free the entry by removing thread name. */ |
858 | thread->name = NULL; | 858 | thread->name = NULL; |