/* * Copyright (C) 2011 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ struct Thread; /* * Raises the scheduling priority of the current thread. Returns the * original priority if successful, or INT_MAX on failure. * Use os_lowerThreadPriority to undo. * * TODO: does the GC really need this? */ int os_raiseThreadPriority(); /* * Sets the current thread scheduling priority. Used to undo the effects * of an earlier call to os_raiseThreadPriority. * * TODO: does the GC really need this? */ void os_lowerThreadPriority(int oldThreadPriority); /* * Changes the priority of a system thread to match that of the Thread object. * * We map a priority value from 1-10 to Linux "nice" values, where lower * numbers indicate higher priority. */ void os_changeThreadPriority(Thread* thread, int newPriority); /* * Returns the thread priority for the current thread by querying the system. * This is useful when attaching a thread through JNI. * * Returns a value from 1 to 10 (compatible with java.lang.Thread values). */ int os_getThreadPriorityFromSystem();