Changeset 101e9b0 in rtems


Ignore:
Timestamp:
Nov 22, 1999, 4:14:00 PM (22 years ago)
Author:
Jennifer Averett <Jennifer.Averett@…>
Branches:
4.10, 4.11, 4.8, 4.9, 5, master
Children:
7dbb0bd
Parents:
cb3c1718
Message:

Fixed dispatching and cleaned up code.

Files:
4 edited

Legend:

Unmodified
Added
Removed
  • c/src/exec/posix/src/semaphoredeletesupp.c

    rcb3c1718 r101e9b0  
    2727{
    2828  if ( !the_semaphore->linked && !the_semaphore->open_count ) {
     29      _Objects_Close( &_POSIX_Semaphore_Information, &the_semaphore->Object );
     30 
     31      _CORE_semaphore_Flush(
     32        &the_semaphore->Semaphore,
     33#if defined(RTEMS_MULTIPROCESSING)
     34        _POSIX_Semaphore_MP_Send_object_was_deleted,
     35#else
     36        NULL,
     37#endif
     38        -1  /* XXX should also seterrno -> EINVAL */
     39      );
     40
    2941    _POSIX_Semaphore_Free( the_semaphore );
    3042
  • c/src/exec/posix/src/semdestroy.c

    rcb3c1718 r101e9b0  
    4343
    4444      if ( the_semaphore->named == TRUE ) {
     45        _Thread_Enable_dispatch();
    4546        set_errno_and_return_minus_one( EINVAL );
    4647      }
    4748 
    48       _Objects_Close( &_POSIX_Semaphore_Information, &the_semaphore->Object );
    49  
    50       _CORE_semaphore_Flush(
    51         &the_semaphore->Semaphore,
    52 #if defined(RTEMS_MULTIPROCESSING)
    53         _POSIX_Semaphore_MP_Send_object_was_deleted,
    54 #else
    55         NULL,
    56 #endif
    57         -1  /* XXX should also seterrno -> EINVAL */
    58       );
    59  
    60       _POSIX_Semaphore_Free( the_semaphore );
    61  
    62 #if defined(RTEMS_MULTIPROCESSING)
    63       if ( the_semaphore->process_shared == PTHREAD_PROCESS_SHARED ) {
    64  
    65         _Objects_MP_Close(
    66           &_POSIX_Semaphore_Information,
    67           the_semaphore->Object.id
    68         );
    69  
    70         _POSIX_Semaphore_MP_Send_process_packet(
    71           POSIX_SEMAPHORE_MP_ANNOUNCE_DELETE,
    72           the_semaphore->Object.id,
    73           0,                         /* Not used */
    74           0                          /* Not used */
    75         );
    76       }
    77 #endif
     49      _POSIX_Semaphore_Delete( the_semaphore );
    7850      _Thread_Enable_dispatch();
    7951      return 0;
  • cpukit/posix/src/semaphoredeletesupp.c

    rcb3c1718 r101e9b0  
    2727{
    2828  if ( !the_semaphore->linked && !the_semaphore->open_count ) {
     29      _Objects_Close( &_POSIX_Semaphore_Information, &the_semaphore->Object );
     30 
     31      _CORE_semaphore_Flush(
     32        &the_semaphore->Semaphore,
     33#if defined(RTEMS_MULTIPROCESSING)
     34        _POSIX_Semaphore_MP_Send_object_was_deleted,
     35#else
     36        NULL,
     37#endif
     38        -1  /* XXX should also seterrno -> EINVAL */
     39      );
     40
    2941    _POSIX_Semaphore_Free( the_semaphore );
    3042
  • cpukit/posix/src/semdestroy.c

    rcb3c1718 r101e9b0  
    4343
    4444      if ( the_semaphore->named == TRUE ) {
     45        _Thread_Enable_dispatch();
    4546        set_errno_and_return_minus_one( EINVAL );
    4647      }
    4748 
    48       _Objects_Close( &_POSIX_Semaphore_Information, &the_semaphore->Object );
    49  
    50       _CORE_semaphore_Flush(
    51         &the_semaphore->Semaphore,
    52 #if defined(RTEMS_MULTIPROCESSING)
    53         _POSIX_Semaphore_MP_Send_object_was_deleted,
    54 #else
    55         NULL,
    56 #endif
    57         -1  /* XXX should also seterrno -> EINVAL */
    58       );
    59  
    60       _POSIX_Semaphore_Free( the_semaphore );
    61  
    62 #if defined(RTEMS_MULTIPROCESSING)
    63       if ( the_semaphore->process_shared == PTHREAD_PROCESS_SHARED ) {
    64  
    65         _Objects_MP_Close(
    66           &_POSIX_Semaphore_Information,
    67           the_semaphore->Object.id
    68         );
    69  
    70         _POSIX_Semaphore_MP_Send_process_packet(
    71           POSIX_SEMAPHORE_MP_ANNOUNCE_DELETE,
    72           the_semaphore->Object.id,
    73           0,                         /* Not used */
    74           0                          /* Not used */
    75         );
    76       }
    77 #endif
     49      _POSIX_Semaphore_Delete( the_semaphore );
    7850      _Thread_Enable_dispatch();
    7951      return 0;
Note: See TracChangeset for help on using the changeset viewer.