// mainloop
ePtrList<eMainloop> eMainloop::existing_loops;
+eMainloop::~eMainloop()
+{
+ existing_loops.remove(this);
+ pthread_mutex_destroy(&recalcLock);
+ for (std::map<int, eSocketNotifier*>::iterator it(notifiers.begin());it != notifiers.end();++it)
+ it->second->stop();
+ while(m_timer_list.begin() != m_timer_list.end())
+ m_timer_list.begin()->stop();
+}
+
void eMainloop::addSocketNotifier(eSocketNotifier *sn)
{
int fd = sn->getFD();
}
}
+ m_is_idle = 1;
+
if (this == eApp)
+ {
Py_BEGIN_ALLOW_THREADS
ret = ::poll(pfd, fdcount, poll_timeout);
Py_END_ALLOW_THREADS
- else
+ } else
ret = ::poll(pfd, fdcount, poll_timeout);
+
+ m_is_idle = 0;
/* ret > 0 means that there are some active poll entries. */
if (ret > 0)