20 Commits

Author SHA1 Message Date
Glenn Kasten
c2b3cda097 Bug 3362814 Fix SMP race in access to mRequestExit
Also fix an unlikely SMP race in access to mHoldSelf on entry to _threadLoop.

Change-Id: I6cbc0b94739c7dd5e77e8a5ba0da22cdc0b1a4db
2011-02-23 17:49:59 -08:00
Kenny Root
bb9d394b21 Clean up use of HAVE_ANDROID_OS
HAVE_ANDROID_OS was defined as "1" for targets, but never defined as "0"
for non-targets. Changing them to #ifdef should be safe and matches
all the other uses of HAVE_ANDROID_OS throughout the system.

Change-Id: I82257325a8ae5e4e4371ddfc4dbf51cea8ea0abb
2011-02-16 10:56:32 -08:00
Jean-Baptiste Queru
e88fa50be8 Merge from open-source gingerbread
Change-Id: I56f2ed37187796807fbf0de15274a85164f9432c
2011-01-30 15:30:03 -08:00
Ritu Srivastava
2d9299b39d fix failing thread object run
A previously exited Thread object refuses to run again, if the
thread-id of the caller, conincides with the thread-id it previously
used in the worker thread. Hence reset the previously used worker
thread-id to -1 when it exits.

 Signed-off-by: Ritu Srivastava <rsrivast@sta.samsung.com>

Change-Id: I873925c312a43ec8a16392b98cc959042ff6bfd2

Signed-off-by: Madan Ankapura <mankapur@sta.samsung.com>
2011-01-25 21:48:54 -08:00
Eric Laurent
730ba19bc8 Fix issue 3302649.
The cause of the problem is that AudioTrack::start() can fail if it is called from a newly created
thread that has the same ID as the AudioTrack callback thread that has just been stopped and not yet exited.
This is possible as the thread ID used by the Thread class is not the TID.

The fix consists in clearing the thread ID before exiting the thread loop.

Change-Id: I66e679665c384403cb3ba2c31746f5de72d5836d
2011-01-04 11:58:04 -08:00
Dianne Hackborn
a8512a71d3 Always set the scheduling group when starting a new thread.
Change-Id: Ia33acf13fc3752707f3819928c36315e223fa1bd
2010-09-09 22:12:25 -07:00
Dianne Hackborn
11bbe200cb Hopefully fix the build.
Change-Id: Id8cd92c0895c9939e1386ef488bd1309a3be3568
2010-09-07 12:32:19 -07:00
Dianne Hackborn
84bb52ed61 Add system property to turn off scheduling groups.
Do this:

adb shell setprop debug.sys.noschedgroups 1

Change-Id: I6e06a74205fd45ee1526ce71fe33944465d39984
2010-09-07 11:19:11 -07:00
Dianne Hackborn
afbeb31bff Maybe really fix windows build. 2009-12-08 19:45:59 -08:00
Dianne Hackborn
06fb2c1c39 Hopefully fix Windows build 2009-12-08 16:38:01 -08:00
Dianne Hackborn
887f355f99 Propagate background scheduling class across processes.
This is a very simply implementation: upon receiving an IPC, if the handling
thread is at a background priority (the driver will have taken care of
propagating this from the calling thread), then stick it in to the background
scheduling group.  Plus an API to turn this off for the process, which is
used by the system process.

This also pulls some of the code for managing scheduling classes out of
the Process JNI wrappers and in to some convenience methods in thread.h.
2009-12-07 19:11:14 -08:00
Mathias Agopian
d42bd87f23 use broadcast() instead of signal() when signaling the condition-variable Thread::RequestExitAndWait() is waiting for
we could have several thread waiting on the condition and they all need to wake-up.
also added a debug "mTid" field in the class, which contains the tid of the thread (as opposed to pthread_t), this
is useful when debugging under gdb for instance.
2009-09-09 02:45:26 -07:00
David 'Digit' Turner
078a275784 Fix Win32 libutils to get a working SDK build. 2009-08-01 10:53:29 +02:00
Mathias Agopian
b1c4ca5ad2 implement Mutex and Condition with pthread instead of calling futex directly.
internally pthread uses futex. the implementation consists of simple inlines
there are no implementation files anymore.
2009-07-13 15:14:23 -07:00
The Android Open Source Project
4df2423a94 auto import from //depot/cupcake/@136594 2009-03-05 14:34:35 -08:00
The Android Open Source Project
9066cfe988 auto import from //depot/cupcake/@135843 2009-03-03 19:31:44 -08:00
The Android Open Source Project
d83a98f4ce auto import from //depot/cupcake/@135843 2009-03-03 18:28:45 -08:00
The Android Open Source Project
076357b856 auto import from //depot/cupcake/@132589 2009-03-03 14:04:24 -08:00
The Android Open Source Project
3dec7d563a auto import from //depot/cupcake/@137055 2009-03-02 22:54:33 -08:00
The Android Open Source Project
54b6cfa9a9 Initial Contribution 2008-10-21 07:00:00 -07:00