X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Scheduler%2FScheduler.hh;h=94918af13b528922c306014bb68c9e572fd039ef;hb=44c966bc9d744d0926cffd5184fdb77a62564c16;hp=1ad68963f6af467323abafd70a3aeeb48b73b86f;hpb=17e24d84603667395e9ffa786a9cdbb722bf9c1f;p=senf.git diff --git a/Scheduler/Scheduler.hh b/Scheduler/Scheduler.hh index 1ad6896..94918af 100644 --- a/Scheduler/Scheduler.hh +++ b/Scheduler/Scheduler.hh @@ -153,6 +153,9 @@ namespace senf { wait for signals \e only. \todo Fix EventId parameter (probably to int) to allow |-ing without casting ... + + \todo Fix the file support to use threads (?) fork (?) and a pipe so it works reliably even + over e.g. NFS. */ class Scheduler : boost::noncopyable @@ -320,7 +323,11 @@ namespace senf { FdCallback cb_prio; FdCallback cb_write; + EventSpec() : file(false) {} + int epollMask() const; + + bool file; }; /** \brief Timer event specification @@ -344,6 +351,7 @@ namespace senf { typedef std::map FdTable; typedef std::map TimerMap; // sorted by id + typedef std::vector FdEraseList; # ifndef DOXYGEN @@ -364,6 +372,8 @@ namespace senf { typedef std::vector SigHandlers; FdTable fdTable_; + FdEraseList fdErase_; + unsigned files_; unsigned timerIdCounter_; TimerQueue timerQueue_;