Ryan Bloom wrote:
Ryan Bloom wrote:
Congratulations. You have just designed the interface that was
removed
two weeks ago. :-(
Exactly. The old API had the right design: an abstract poll object
with
accessor functions, so that the poll wrapper can run in O(1) time.
The
new implementation results in an O(n) time wrapper (due to the need to
copy n pollfd objects on every poll call), not to mention the memory
leak.
BTW, that interface was removed because it was too bulky and complex
and
too slow.
Please go ahead and revert the new implementation. If we need to tune
the
old implementation, let's do that.
No, the old design was completely bogus. As proof, Trawick vetoed even
using the damned thing inside of APR. I don't care if you think that we
don't have to use it, if a developer of APR believes that the API is too
ugly to use in their code, then the API is borked. Damn, I hated the
API and I designed it.
The current API is correct, because it gives the user back control of
their memory.
The current API has a memory leak that makes it unsuitable for
general-purpose use (including the httpd). That's why I vetoed it.
--Brian