-
Notifications
You must be signed in to change notification settings - Fork 10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
EpollTaskScheduler does not send data #1
Comments
After studying the code, I came to the conclusion that the problem is in calling epoll_ctl on the file descriptor at the time the read task occurred from the file. Therefore, when reading from a file, events do not fire and the server does not send data. I'm looking for a way to get around this. |
So this is because epoll does not support regular files. |
Sorry for the delay. I understand we're talking about Linux here. If so, that's correct - epoll does not support non-blocking IO on regular files - so much for "everything is a file". You should get EPERM on call to However, Different story for Windows though. You can get full asynchronous I/O both on sockets and files but you need to harness the power of IOCP - which in the case of live555 library is close to impossible with no fundamental changes (a switch from Reactor pattern to Proactor pattern). For a quick fix check InputFile.hh:34, specifically author's comment on I/O in Windows OS (with FUD comments on Windows capabilities regarding asynchronous I/O). You shouldn't lose any performance with that change ( |
Hello!
I tried to test your code on the server (the standard live555MediaServer example server), explicitly the use of EpollTaskScheduler.The connection is set correctly, and the server responds correctly to the RTSP requests, but does not start sending data (not RTP or RAW UDP both).
This is not yet finalized, or am I doing something wrong?
The text was updated successfully, but these errors were encountered: