summaryrefslogtreecommitdiffstats
path: root/include/utils/threads.h
Commit message (Collapse)AuthorAgeFilesLines
* Propagate background scheduling class across processes.Dianne Hackborn2009-12-071-0/+18
| | | | | | | | | | | 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.
* process: Switch to common cutils sched_policy apiSan Mehat2009-09-121-5/+0
| | | | Signed-off-by: San Mehat <san@google.com>
* Process: Add support for using scheduler policies instead of cgroups.San Mehat2009-09-101-0/+5
| | | | | | Preference is given to cgroups if available. Signed-off-by: San Mehat <san@google.com>
* use broadcast() instead of signal() when signaling the condition-variable ↵Mathias Agopian2009-09-091-0/+3
| | | | | | | | 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.
* add a ctor to Mutex to specify the type, which can be shared. This is used ↵Mathias Agopian2009-07-131-0/+17
| | | | by sf and af an soon will allow some optimization in the kernel for non shared mutexes
* implement Mutex and Condition with pthread instead of calling futex directly.Mathias Agopian2009-07-131-4/+86
| | | | | internally pthread uses futex. the implementation consists of simple inlines there are no implementation files anymore.
* some work to try to reduce the code size of some native librariesMathias Agopian2009-05-261-5/+5
| | | | | | | | | | | | | | | | | - make sure that all binder Bn classes define a ctor and dtor in their respective library. This avoids duplication of the ctor/dtor in libraries where these objects are instantiated. This is also cleaner, should we want these ctor/dtor to do something one day. - same change as above for some Bp classes and various other non-binder classes - moved the definition of CHECK_INTERFACE() in IInterface.h instead of having it everywhere. - improved the CHECK_INTERFACE() macro so it calls a single method in Parcel, instead of inlining its code everywhere - IBinder::getInterfaceDescriptor() now returns a "const String16&" instead of String16, which saves calls to String16 and ~String16 - implemented a cache for BpBinder::getInterfaceDescriptor(), since this does an IPC. HOWEVER, this method never seems to be called. The cache makes BpBinder bigger, so we need to figure out if we need this method at all.
* Add support for changing a threads scheduler group. Three groups are ↵San Mehat2009-04-271-0/+7
| | | | | | available (default, background non interactive, foreground boost). Setting a thread priority to PRIORITY_BACKGROUND will transparently change groups to background Signed-off-by: San Mehat <san@google.com>
* auto import from //depot/cupcake/@136594The Android Open Source Project2009-03-051-35/+0
|
* auto import from //depot/cupcake/@135843The Android Open Source Project2009-03-031-0/+347
|
* auto import from //depot/cupcake/@135843The Android Open Source Project2009-03-031-347/+0
|
* Initial ContributionThe Android Open Source Project2008-10-211-0/+347