Changeset 9260c98 in rtems-docs


Ignore:
Timestamp:
03/07/17 09:36:43 (7 years ago)
Author:
Sebastian Huber <sebastian.huber@…>
Branches:
5, master
Children:
93e5286
Parents:
ff9d555
git-author:
Sebastian Huber <sebastian.huber@…> (03/07/17 09:36:43)
git-committer:
Sebastian Huber <sebastian.huber@…> (03/07/17 09:37:03)
Message:

c-user: Update rtems_task_set_scheduler()

File:
1 edited

Legend:

Unmodified
Added
Removed
  • c-user/task_manager.rst

    rff9d555 r9260c98  
    14361436
    14371437        rtems_status_code rtems_task_set_scheduler(
    1438             rtems_id task_id,
    1439             rtems_id scheduler_id
     1438          rtems_id            task_id,
     1439          rtems_id            scheduler_id,
     1440          rtems_task_priority priority
    14401441        );
    14411442
     
    14481449     * - ``RTEMS_INVALID_ID``
    14491450       - invalid task or scheduler id
    1450      * - ``RTEMS_INCORRECT_STATE``
     1451     * - ``RTEMS_INVALID_PRIORITY``
     1452       - invalid task priority
     1453     * - ``RTEMS_RESOURCE_IN_USE``
    14511454       - the task is in the wrong state to perform a scheduler change
     1455     * - ``RTEMS_UNSATISFIED``
     1456       - the processor set of the scheduler is empty
     1457     * - ``RTEMS_ILLEGAL_ON_REMOTE_OBJECT``
     1458       - not supported on remote tasks
    14521459
    14531460DESCRIPTION:
    14541461    Sets the scheduler of a task identified by ``task_id`` to the scheduler
    14551462    identified by ``scheduler_id``.  The scheduler of a task is initialized to
    1456     the scheduler of the task that created it.
     1463    the scheduler of the task that created it.  The priority of the task is set
     1464    to ``priority``.
    14571465
    14581466NOTES:
     
    14661474        #include <assert.h>
    14671475
    1468         void task(rtems_task_argument arg);
    1469 
    1470         void example(void)
     1476        void task( rtems_task_argument arg );
     1477
     1478        void example( void )
    14711479        {
    1472             rtems_status_code sc;
    1473             rtems_id          task_id;
    1474             rtems_id          scheduler_id;
    1475             rtems_name        scheduler_name;
    1476 
    1477             scheduler_name = rtems_build_name('W', 'O', 'R', 'K');
    1478 
    1479             sc = rtems_scheduler_ident(scheduler_name, &scheduler_id);
    1480             assert(sc == RTEMS_SUCCESSFUL);
    1481 
    1482             sc = rtems_task_create(
    1483                     rtems_build_name('T', 'A', 'S', 'K'),
    1484                     1,
    1485                     RTEMS_MINIMUM_STACK_SIZE,
    1486                     RTEMS_DEFAULT_MODES,
    1487                     RTEMS_DEFAULT_ATTRIBUTES,
    1488                     &task_id
    1489                  );
    1490             assert(sc == RTEMS_SUCCESSFUL);
    1491 
    1492             sc = rtems_task_set_scheduler(task_id, scheduler_id);
    1493             assert(sc == RTEMS_SUCCESSFUL);
    1494 
    1495             sc = rtems_task_start(task_id, task, 0);
    1496             assert(sc == RTEMS_SUCCESSFUL);
     1480          rtems_status_code sc;
     1481          rtems_id          task_id;
     1482          rtems_id          scheduler_id;
     1483          rtems_name        scheduler_name;
     1484
     1485          scheduler_name = rtems_build_name( 'W', 'O', 'R', 'K' );
     1486
     1487          sc = rtems_scheduler_ident( scheduler_name, &scheduler_id );
     1488          assert( sc == RTEMS_SUCCESSFUL );
     1489
     1490          sc = rtems_task_create(
     1491            rtems_build_name( 'T', 'A', 'S', 'K' ),
     1492            1,
     1493            RTEMS_MINIMUM_STACK_SIZE,
     1494            RTEMS_DEFAULT_MODES,
     1495            RTEMS_DEFAULT_ATTRIBUTES,
     1496            &task_id
     1497          );
     1498          assert( sc == RTEMS_SUCCESSFUL );
     1499
     1500          sc = rtems_task_set_scheduler( task_id, scheduler_id, 2 );
     1501          assert( sc == RTEMS_SUCCESSFUL );
     1502
     1503          sc = rtems_task_start( task_id, task, 0 );
     1504          assert( sc == RTEMS_SUCCESSFUL );
    14971505        }
    14981506
Note: See TracChangeset for help on using the changeset viewer.