diff options
author | Elliott Hughes <enh@google.com> | 2014-10-29 12:32:16 +0000 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2014-10-29 12:32:16 +0000 |
commit | d43f9fdc708726bef2df59f836f1ade962da43a7 (patch) | |
tree | 60afc21c8f13bd0ceea2a798bda014261f4c27b6 | |
parent | 3a55819126d686c727f9ac6c4aa0f901e49441ba (diff) | |
parent | ea3b71240072e854838069aa0d6957d40aa6be2d (diff) | |
download | extras-d43f9fdc708726bef2df59f836f1ade962da43a7.tar.gz |
am ea3b7124: Merge "bionic test libc: clean up test for pthread_once"
* commit 'ea3b71240072e854838069aa0d6957d40aa6be2d':
bionic test libc: clean up test for pthread_once
-rw-r--r-- | tests/bionic/libc/Android.mk | 1 | ||||
-rw-r--r-- | tests/bionic/libc/common/test_pthread_once.c | 82 |
2 files changed, 0 insertions, 83 deletions
diff --git a/tests/bionic/libc/Android.mk b/tests/bionic/libc/Android.mk index 0f79e8fe..6f3343af 100644 --- a/tests/bionic/libc/Android.mk +++ b/tests/bionic/libc/Android.mk @@ -63,7 +63,6 @@ endef sources := \ common/test_pthread_mutex.c \ common/test_pthread_rwlock.c \ - common/test_pthread_once.c \ common/test_seteuid.c \ common/test_udp.c \ diff --git a/tests/bionic/libc/common/test_pthread_once.c b/tests/bionic/libc/common/test_pthread_once.c deleted file mode 100644 index 3beda913..00000000 --- a/tests/bionic/libc/common/test_pthread_once.c +++ /dev/null @@ -1,82 +0,0 @@ -/* - * Copyright (C) 2008 The Android Open Source Project - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT - * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ -#include <pthread.h> -#include <stdio.h> -#include <stdlib.h> -#include <time.h> - -#define N_THREADS 100 - -static pthread_once_t once = PTHREAD_ONCE_INIT; - -static int global_count = 0; - -static void -once_function( void ) -{ - struct timespec ts; - - global_count += 1; - - ts.tv_sec = 2; - ts.tv_nsec = 0; - nanosleep (&ts, NULL); -} - -static void* -thread_function(void* arg) -{ - pthread_once( &once, once_function ); - - if (global_count != 1) { - printf ("thread %ld: global == %d\n", (long int) arg, global_count); - exit (1); - } - return NULL; -} - -int main( void ) -{ - pthread_t threads[N_THREADS]; - int nn; - - for (nn = 0; nn < N_THREADS; nn++) { - if (pthread_create( &threads[nn], NULL, thread_function, (void*)(long int)nn) < 0) { - printf("creation of thread %d failed\n", nn); - return 1; - } - } - - for (nn = 0; nn < N_THREADS; nn++) { - if (pthread_join(threads[nn], NULL)) { - printf("joining thread %d failed\n", nn); - return 1; - } - } - return 0; -} |