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); }
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; }
/*! 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); } } }