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/IcedTeaPluginRequestProcessor.cc

    r348 r369  
    694694queue_processor(void* data)
    695695{
    696 
     696#ifdef __OS2__
     697    QueueProcessorData *queue_processor_data = (QueueProcessorData *) data;
     698    PluginRequestProcessor* processor = queue_processor_data->processor;
     699#else
    697700    PluginRequestProcessor* processor = (PluginRequestProcessor*) data;
     701#endif
    698702    std::vector<std::string*>* message_parts = NULL;
    699703    std::string command;
     
    704708    pthread_mutex_init(&wait_mutex, NULL);
    705709
     710#ifdef __OS2__
     711    queue_processor_data->stopRequested = false;
     712#else
    706713    pthread_cleanup_push(queue_cleanup, (void*) &wait_mutex);
     714#endif
    707715
    708716    while (true)
     
    786794        message_parts = NULL;
    787795
     796#ifdef __OS2__
     797        if (queue_processor_data->stopRequested)
     798            break;
     799#else
    788800        pthread_testcancel();
    789     }
    790 
     801#endif
     802    }
     803
     804#ifdef __OS2__
     805    queue_cleanup((void*) &wait_mutex);
     806#else
    791807    pthread_cleanup_pop(1);
     808#endif
    792809}
    793810
Note: See TracChangeset for help on using the changeset viewer.