- tasksAvailable++;
-
- IF_DEBUG(scheduler,fprintf(stderr,"scheduler: Started task (%d): %ld\n", taskCount, tid););
- return;
-}
-
-/*
- * When the RTS thread ends up performing a call-out,
- * we need to know whether there'll be other tasks/threads
- * to take over RTS responsibilities. The 'tasksAvailable'
- * variable holds the number of threads that are _blocked
- * waiting to enter the RTS_ (or soon will be). Equipped
- * with that count, startTask() is able to make an informed
- * decision on whether or not to create a new thread.
- *
- * Two functions control increments / decrements of
- * 'tasksAvailable':
- *
- * - taskNotAvailable() : called whenever a task/thread
- * has acquired the RTS lock, i.e., always called by
- * a thread that holds the rts_mutex lock.
- *
- * - taskAvailable(): called whenever a task/thread
- * is about to try to grab the RTS lock. The task manager
- * and scheduler will only call this whenever it is
- * in possession of the rts_mutex lock, i.e.,
- * - when a new task is created in startTask().
- * - when the scheduler gives up the RTS token to
- * let threads waiting to return from an external
- * call continue.
- *
- */
-void
-taskNotAvailable()
-{
- if (tasksAvailable > 0) {
- tasksAvailable--;
- }
- return;
-}