]> git.saurik.com Git - apple/xnu.git/blobdiff - tools/tests/xnu_quick_test/shared_memory_tests.c
xnu-1699.24.23.tar.gz
[apple/xnu.git] / tools / tests / xnu_quick_test / shared_memory_tests.c
index 362c777edd4d74da0d85493e7342510263ae1911..ad0ddcd6f327848ae066b95a8d0fd9fb0a0a8700 100644 (file)
@@ -20,7 +20,8 @@ extern char  g_target_path[ PATH_MAX ];
  *  **************************************************************************************************************
  */
 int shm_tests( void * the_argp )
-{
+{      
+#if !TARGET_OS_EMBEDDED
        int                                     my_err;
        int                                     my_shm_id;
        void *                          my_shm_addr = NULL;
@@ -61,6 +62,13 @@ int shm_tests( void * the_argp )
                printf( "shmdt failed with error %d - \"%s\" \n", errno, strerror( errno) );
                goto test_failed_exit;
        }
+       
+       my_err = shmctl( my_shm_id, IPC_RMID, NULL );
+       if ( my_err == -1 ) {
+               printf("shmctl failed to delete memory segment.\n");
+               goto test_failed_exit;
+       }
+       
        my_shm_addr = NULL;
         
        my_err = 0;
@@ -72,8 +80,13 @@ test_failed_exit:
 test_passed_exit:
        if ( my_shm_addr != NULL ) {
                shmdt( my_shm_addr );
+               shmctl( my_shm_id, IPC_RMID, NULL);
        }
        return( my_err );
+#else
+       printf( "\t--> Not supported on EMBEDDED TARGET\n" );
+       return 0;
+#endif
 }