]> git.tdb.fi Git - libs/core.git/blobdiff - source/poll.cpp
Allow polling an empty set of objects
[libs/core.git] / source / poll.cpp
index 3b349b4b187f824ab2152cb3fa0d896cad0e59f1..659e2385ff5c5c3dadf0ffea2bde277e1bdfb711 100644 (file)
@@ -100,8 +100,6 @@ void Poller::set_object(Base &obj, PollEvent ev)
        if(ev)
                obj.get_event_handle();
 
-       //cout<<"poller set_object "<<&obj<<' '<<ev<<'\n';
-
        SlotMap::iterator i=objects.find(&obj);
        if(i!=objects.end())
        {
@@ -162,14 +160,11 @@ int Poller::do_poll(int timeout)
 
        poll_result.clear();
 
-       if(pfd.empty())
-               throw InvalidState("Nothing to poll");
-
 #ifdef WIN32
        if(timeout<0)
                timeout=INFINITE;
 
-       DWORD ret=WaitForMultipleObjects(pfd.size(), reinterpret_cast<HANDLE *>(&pfd.front()), false, timeout);
+       DWORD ret=WaitForMultipleObjects(pfd.size(), &pfd.front().fd, false, timeout);
        if(/*ret>=WAIT_OBJECT_0 &&*/ ret<WAIT_OBJECT_0+pfd.size())
        {
                SlotMap::iterator i=objects.begin();