X-Git-Url: http://git.tdb.fi/?p=libs%2Fcore.git;a=blobdiff_plain;f=source%2Fio%2Fpoll.h;h=b65166d24bffb7cf8d7aea7e30f09f525c7b84d2;hp=d7823aa9108d8d16bd856fd2fbb4b35f41ac04fa;hb=c3e242c2629cbc9645258b30aaf07b7285d4372b;hpb=bb719167603abe640052de1ed119b6522b7b912e diff --git a/source/io/poll.h b/source/io/poll.h index d7823aa..b65166d 100644 --- a/source/io/poll.h +++ b/source/io/poll.h @@ -4,6 +4,7 @@ #include #include #include +#include #include namespace Msp { @@ -17,7 +18,8 @@ enum PollEvent P_INPUT = 1, P_PRIO = 2, P_OUTPUT = 4, - P_ERROR = 8 + P_ERROR = 8, + P_HANGUP = 16 }; inline PollEvent operator|(PollEvent e, PollEvent f) @@ -30,7 +32,7 @@ inline PollEvent operator~(PollEvent e) { return PollEvent(~static_cast(e)); } -class Poller +class Poller: private NonCopyable { public: struct Slot @@ -62,6 +64,7 @@ public: private: void rebuild_array(); int do_poll(int); + void platform_poll(int); public: const SlotList &get_result() const { return poll_result; } };