Ignore:
Timestamp:
May 24, 2012, 12:16:46 AM (13 years ago)
Author:
dmik
Message:

icedtea-web: Replace pthread_cancel() with old good flag variable.

This is because the whole pthreads cancellation machinery (cancellation
points, cleanup routines, etc.) is not implemented on OS/2.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/icedtea-web/plugin/icedteanp/IcedTeaNPPlugin.cc

    r368 r369  
    23412341  plugin_to_java_bus->subscribe(java_req_proc);
    23422342
     2343#ifdef __OS2__
     2344  queue_processor_data1.processor = plugin_req_proc;
     2345  queue_processor_data2.processor = plugin_req_proc;
     2346  queue_processor_data3.processor = plugin_req_proc;
     2347  pthread_create (&plugin_request_processor_thread1, NULL, &queue_processor, (void*) &queue_processor_data1);
     2348  pthread_create (&plugin_request_processor_thread2, NULL, &queue_processor, (void*) &queue_processor_data2);
     2349  pthread_create (&plugin_request_processor_thread3, NULL, &queue_processor, (void*) &queue_processor_data3);
     2350#else
    23432351  pthread_create (&plugin_request_processor_thread1, NULL, &queue_processor, (void*) plugin_req_proc);
    23442352  pthread_create (&plugin_request_processor_thread2, NULL, &queue_processor, (void*) plugin_req_proc);
    23452353  pthread_create (&plugin_request_processor_thread3, NULL, &queue_processor, (void*) plugin_req_proc);
     2354#endif
    23462355
    23472356  itnp_plugin_thread_id = pthread_self();
     
    25312540  initialized = false;
    25322541
     2542#ifdef __OS2__
     2543  // pthread_cancel() isn't implemented on OS?2, so use an old good flag
     2544  queue_processor_data1.stopRequested = true;
     2545  queue_processor_data2.stopRequested = true;
     2546  queue_processor_data3.stopRequested = true;
     2547  pthread_cond_broadcast(&cond_message_available);
     2548#else
    25332549  pthread_cancel(plugin_request_processor_thread1);
    25342550  pthread_cancel(plugin_request_processor_thread2);
    25352551  pthread_cancel(plugin_request_processor_thread3);
     2552#endif
    25362553
    25372554  pthread_join(plugin_request_processor_thread1, NULL);
Note: See TracChangeset for help on using the changeset viewer.