Changeset 5112ff5a in rtems


Ignore:
Timestamp:
Oct 25, 2006, 11:28:08 AM (13 years ago)
Author:
Joel Sherrill <joel.sherrill@…>
Branches:
4.10, 4.11, 4.8, 4.9, master
Children:
7ced9142
Parents:
1e3518b
Message:

2006-10-25 Jennifer Averett <jennifer@…>

  • libcsupport/src/termios.c: Change attribute of semaphore. It was counting interrupts not acting as a condition synchronization mutex. Since the caller did not always need to obtain the semaphore, it was not being decremented until there was no data. This could occur after hours of running a system and thousands of interrupts. The code in fillBufferQueue would spin until it had consumed all of those semaphore counts.
Location:
cpukit
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • cpukit/ChangeLog

    r1e3518b r5112ff5a  
     12006-10-25      Jennifer Averett <jennifer@oarcorp.com>
     2
     3        * libcsupport/src/termios.c: Change attribute of semaphore. It was
     4        counting interrupts not acting as a condition synchronization mutex.
     5        Since the caller did not always need to obtain the semaphore, it was
     6        not being decremented until there was no data. This could occur after
     7        hours of running a system and thousands of interrupts. The code in
     8        fillBufferQueue would spin until it had consumed all of those
     9        semaphore counts.
     10
    1112006-10-23      Joel Sherrill <joel@OARcorp.com>
    212
  • cpukit/libcsupport/src/termios.c

    r1e3518b r5112ff5a  
    260260                                rtems_build_name ('T', 'R', 'r', c),
    261261                                0,
    262                                 RTEMS_COUNTING_SEMAPHORE | RTEMS_PRIORITY,
     262                                RTEMS_SIMPLE_BINARY_SEMAPHORE | RTEMS_PRIORITY,
    263263                                RTEMS_NO_PRIORITY,
    264264                                &tty->rawInBuf.Semaphore);
Note: See TracChangeset for help on using the changeset viewer.