I’m seeking help to understand the following situation: 1. I have a TCP socket connection established the peer. 2. I added to the list of file descriptors to be monitored by select 3. select alerts me to any activity on the socket and my application processes the data sent by the peer on the socket. 4. I now remove the file descriptor associated with the socket from the list of file descriptors to be monitored by select. 5. Peer sends me some data on that socket. I do not read that data. 6. after a few seconds, I again and the file descriptor associated with the socket to the list of file descriptors to be monitored by select 7. will select now immediately let me know that the socket is readable? What, if in step 5, the peer does not send me any data but say, since a FIN. Will select still tell me that the socket is readable in summary, the question is if select(or any of its variants such as epoll) indicate that a socket is readable if there has been any activity on the socket prior to including the socket in the list of monitored file descriptors and assuming that the application has read no data from the socket
1
There are 1 best solutions below
Related Questions in SOCKETS
- Drawing with ncurses, sockets and fork
- UDP sockets in C not working
- How can I send multiple objects over one socket in java?
- psuedo TCP multicast with os.dup2() in python?
- My get request for http is very slow
- Nodejs connect mysql socket to another host?
- HttpRequestContext vs HttpContext
- Spring based client server communication without network
- Java does not accept 2 methods with same name
- Retrieve Data From EOC(Eithernet Over coxial) device
- Ping a server without freezing the Thread
- C sockets: Exit client after all data is received
- What is the best way to send XML converted to a byte array over TCP, then translate the response back to readable XML?
- C# Winform to Connect to Device Using IP
- Java Restart a Socket
Related Questions in EPOLL
- Libevent aerospike client::Is it possible to register Aerospike FDs in my event handling mechanism
- Python select epoll in Gevent
- How to get the socket's specific error reason when POLLERR happens?
- Does poll/epoll handling is in interrupt context?
- Return mechanism about epoll_wait
- Chatting server using epoll - unexpected behavior
- what is the difference between EPOLL File descriptor and event file descriptor?
- EPOLLRDHUP not reliable
- Is rtsp server using epoll meaningless? in case there are many clients
- Can EPOLLLET with Edge Trigger race?
- Use python select kqueue on OSX to monitor file creation by external application
- epoll file descriptor operations
- EBADF while recv after epoll_wait
- How can I serve a (never ending) system call with Tornado
- how to use epoll on tornado
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Yes.
Yes.
Yes.
NB 'Prior to including the socket in the list of monitored file descriptors' doesn't really mean anything. The operating system doesn't know when you did that. It only knows that you called
select()with that list.