示例#1
0
RouterProcessor::RouterProcessor(int hndl, RoutingList *rlist, FilterList *flist) 
    : Processor(hndl), curFilterID(SCI_FILTER_NULL), curGroup(SCI_GROUP_ALL), inStream(NULL), routingList(rlist), filterList(flist), joinSegs(false), peerProcessor(NULL)
{
    name = "Router";
    PrivateData *pData = new PrivateData(routingList, filterList, NULL, this);
    setSpecific(pData);
}
示例#2
0
void* 
Thread::performRun(ThreadHandle* handle)
{
    // set the cancelation handler
    pthread_cleanup_push(st_thread_death,handle);
  
    setSpecific(*st_private_key,handle);

    m_thread_id = pthread_self();
  
    m_thread_group->addThread(*handle);
 
    if(!m_thread_target.is_null()) {
        m_thread_target->run();
    } else {
        run();
    }
  
    // thread death, execute also the thread_death
    pthread_cleanup_pop(1);

    return 0;
}
示例#3
0
/*!
    Adjusts specific to \a specific.
 */
void QMofGeneralization::setSpecific(QMofClassifier *specific)
{
    // This is a read-write association end

    if (_specific != specific) {
        // Adjust subsetted properties
        removeSource(_specific);

        _specific = specific;
        if (specific && specific->asQModelingObject() && this->asQModelingObject())
            QObject::connect(specific->asQModelingObject(), SIGNAL(destroyed()), this->asQModelingObject(), SLOT(setSpecific()));

        // Adjust subsetted properties
        setOwner(specific);
        if (specific) {
            addSource(specific);
        }
    }
}