On 7 Mar 2017, at 16:06, Harald Welte
<laforge(a)gnumonks.org> wrote:
Hi Holger,
Hey!
I think we should try to get this fixed in upstream.
If there's an IRIX
work-around, then it shuold be a compile-time decision and only enabled
on IRIX, right?
It won't help the problem in the short term, as fixed/updated glib would
first have to dissipate through their next release, get picked up by
distributions, etc. - but sooner or later somebody else will run into
the same trap, with glib disabling POLERR on Linux and thus destroying
quite a bit of capability the operating system offers.
I didn't know how poll works (hehe, used select all my life). Putting these
into pollfd.events have no effect only the kernel will set the on the
revents. For us they would indicate the intention of sofia-sip but then the
RECVERR will not be signaled in the exception set unless we set another
socket option (for a socket we can't access directly).
So the joke is on me and I didn't know what I was doing when implementing
poll with select. So...
a.) We do POLLIN | POLLERR when a socket becomes readable
b.) We merge the code to use ppoll (added in 2.6.14)
cheers
holger