[BACK]Return to test-process-title-threadsafe.c CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / external / mit / libuv / dist / test

Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.

Diff for /src/external/mit/libuv/dist/test/test-process-title-threadsafe.c between version 1.1.1.1 and 1.1.1.2

version 1.1.1.1, 2020/05/24 19:26:40 version 1.1.1.2, 2022/09/22 21:20:41
Line 39  static const char* titles[] = {
Line 39  static const char* titles[] = {
 };  };
   
 static void getter_thread_body(void* arg) {  static void getter_thread_body(void* arg) {
     uv_sem_t* getter_sem;
   char buffer[512];    char buffer[512];
   size_t len;    size_t len;
   
   for (;;) {    getter_sem = arg;
   
     while (UV_EAGAIN == uv_sem_trywait(getter_sem)) {
     ASSERT(0 == uv_get_process_title(buffer, sizeof(buffer)));      ASSERT(0 == uv_get_process_title(buffer, sizeof(buffer)));
   
     /* The maximum size of the process title on some platforms depends on      /* The maximum size of the process title on some platforms depends on
Line 78  static void setter_thread_body(void* arg
Line 81  static void setter_thread_body(void* arg
 TEST_IMPL(process_title_threadsafe) {  TEST_IMPL(process_title_threadsafe) {
   uv_thread_t setter_threads[4];    uv_thread_t setter_threads[4];
   uv_thread_t getter_thread;    uv_thread_t getter_thread;
     uv_sem_t getter_sem;
   int i;    int i;
   
 #if defined(__sun) || defined(__CYGWIN__) || defined(__MSYS__) || \  #if defined(__sun) || defined(__CYGWIN__) || defined(__MSYS__) || \
Line 86  TEST_IMPL(process_title_threadsafe) {
Line 90  TEST_IMPL(process_title_threadsafe) {
 #endif  #endif
   
   ASSERT(0 == uv_set_process_title(titles[0]));    ASSERT(0 == uv_set_process_title(titles[0]));
   ASSERT(0 == uv_thread_create(&getter_thread, getter_thread_body, NULL));  
     ASSERT_EQ(0, uv_sem_init(&getter_sem, 0));
     ASSERT_EQ(0,
               uv_thread_create(&getter_thread, getter_thread_body, &getter_sem));
   
   for (i = 0; i < (int) ARRAY_SIZE(setter_threads); i++)    for (i = 0; i < (int) ARRAY_SIZE(setter_threads); i++)
     ASSERT(0 == uv_thread_create(&setter_threads[i], setter_thread_body, NULL));      ASSERT(0 == uv_thread_create(&setter_threads[i], setter_thread_body, NULL));
Line 94  TEST_IMPL(process_title_threadsafe) {
Line 101  TEST_IMPL(process_title_threadsafe) {
   for (i = 0; i < (int) ARRAY_SIZE(setter_threads); i++)    for (i = 0; i < (int) ARRAY_SIZE(setter_threads); i++)
     ASSERT(0 == uv_thread_join(&setter_threads[i]));      ASSERT(0 == uv_thread_join(&setter_threads[i]));
   
     uv_sem_post(&getter_sem);
     ASSERT_EQ(0, uv_thread_join(&getter_thread));
     uv_sem_destroy(&getter_sem);
   
   return 0;    return 0;
 }  }

Legend:
Removed from v.1.1.1.1  
changed lines
  Added in v.1.1.1.2

CVSweb <webmaster@jp.NetBSD.org>