This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author sbt
Recipients neologix, pitrou, sbt
Date 2013-01-06.15:45:36
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1357487136.23.0.795047316444.issue16873@psf.upfronthosting.co.za>
In-reply-to
Content
> I actually wrote a script to reproduce this issue:

The program does *not* demonstrate starvation because you are servicing the resource represented by the "starved" duplicate fds before calling poll() again.

You are creating thousands of duplicate handles for the same resource and then complaining that they do not behave independently!

I tried modifing your program by running poll() in a loop, exiting when no more unseen fds are reported as ready.  This makes the program exit immediately.

So

        ready_writers = set(fd for fd, evt in 
                            ep.poll(-1, MAXEVENTS) if fd != r)
        seen_writers |= ready_writers

becomes

        while True:
            ready_writers = set(fd for fd, evt in
                                ep.poll(-1, MAXEVENTS) if fd != r)
            if ready_writers.issubset(seen_writers):
                break
            seen_writers |= ready_writers

I still cannot see a problem with epoll().
History
Date User Action Args
2013-01-06 15:45:36sbtsetrecipients: + sbt, pitrou, neologix
2013-01-06 15:45:36sbtsetmessageid: <1357487136.23.0.795047316444.issue16873@psf.upfronthosting.co.za>
2013-01-06 15:45:36sbtlinkissue16873 messages
2013-01-06 15:45:36sbtcreate