[FFmpeg-trac] #9142(undetermined:new): LIBSRT uses wrong write-readiness epoll on a listener socket
FFmpeg
trac at avcodec.org
Mon Mar 8 01:13:05 EET 2021
#9142: LIBSRT uses wrong write-readiness epoll on a listener socket
-------------------------------------+-------------------------------------
Reporter: ethouris | Type: defect
Status: new | Priority: normal
Component: | Version:
undetermined | unspecified
Keywords: | Blocked By:
Blocking: | Reproduced by developer: 0
Analyzed by developer: 0 |
-------------------------------------+-------------------------------------
The epoll subscription for a listener socket uses the same method as for
other modes, by waiting for write readiness. This works only due to a bug
in LIBSRT, which will be fixed at some point. The event that should be
checked ready on a listener socket should be the read-readiness,
SRT_EPOLL_IN.
This is where the epoll is being created:
```
ret = write_eid = libsrt_epoll_create(h, fd, 1);
```
Then it is used in both branches for a listener socket and connected
socket. For connecting (and rendezvous) socket it's ok, write-readiness
defines connection-ready. For a listener socket it should use read-
readiness, so creation of eid for the listener branch should be likely
done separately, with "0" last parameter.
--
Ticket URL: <https://trac.ffmpeg.org/ticket/9142>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list