Changeset 404903b in rtems


Ignore:
Timestamp:
May 11, 2007, 8:10:37 PM (13 years ago)
Author:
Joel Sherrill <joel.sherrill@…>
Branches:
4.10, 4.11, 4.8, 4.9, master
Children:
13602a5
Parents:
70669f28
Message:

2007-05-11 Joel Sherrill <joel.sherrill@…>

  • score/src/coremsgseize.c: A blocking sender's message size was pulled out of the wrong field in the Wait information structure.
  • score/src/objectallocate.c: With the new optional manager support, we only stub out the initialization. This makes it possible to attempt to create an object with the information structure only initialized with all zeros. This ensures we return an error cleanly in this case.
Location:
cpukit
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • cpukit/ChangeLog

    r70669f28 r404903b  
     12007-05-11      Joel Sherrill <joel.sherrill@OARcorp.com>
     2
     3        * score/src/coremsgseize.c: A blocking sender's message size was
     4        pulled out of the wrong field in the Wait information structure.
     5        * score/src/objectallocate.c: With the new optional manager support,
     6        we only stub out the initialization. This makes it possible to attempt
     7        to create an object with the information structure only initialized
     8        with all zeros.  This ensures we return an error cleanly in this case.
     9
    1102007-05-11      Joel Sherrill <joel.sherrill@OARcorp.com>
    211
  • cpukit/score/src/coremsgseize.c

    r70669f28 r404903b  
    88 *  via messages passed to queue objects.
    99 *
    10  *  COPYRIGHT (c) 1989-1999.
     10 *  COPYRIGHT (c) 1989-2007.
    1111 *  On-Line Applications Research Corporation (OAR).
    1212 *
     
    108108
    109109    the_message->priority  = the_thread->Wait.count;
    110     the_message->Contents.size = (uint32_t  )the_thread->Wait.return_argument_1;
     110    the_message->Contents.size = (uint32_t)the_thread->Wait.option;
    111111    _CORE_message_queue_Copy_buffer(
    112112      the_thread->Wait.return_argument,
  • cpukit/score/src/objectallocate.c

    r70669f28 r404903b  
    4343)
    4444{
    45   Objects_Control *the_object =
    46     (Objects_Control *) _Chain_Get( &information->Inactive );
     45  Objects_Control *the_object;
     46
     47  /*
     48   *  If the application is using the optional manager stubs and
     49   *  still attempts to create the object, the information block
     50   *  should be all zeroed out because it is in the BSS.  So let's
     51   *  check that code for this manager is even present.
     52   */
     53  if ( information->size == 0 )
     54    return NULL;
     55
     56  /*
     57   *  OK.  The manager should be initialized and configured to have objects.
     58   *  With any luck, it is safe to attempt to allocate an object.
     59   */
     60  the_object = (Objects_Control *) _Chain_Get( &information->Inactive );
    4761
    4862  if ( information->auto_extend ) {
Note: See TracChangeset for help on using the changeset viewer.