On 08.11.2012 22:12, Marc Lehmann wrote:
There isn't any intended behaviour, anything goes. Effectively you run
into undefined behaviour.
Okay, I understand that the application should not run into this
situation, so further questions are just for my understanding.
"Some backends (e.g. kqueue, epoll) need to be told about closing a
file descriptor (either by calling close explicitly or by any other
means, such as dup). The reason is that you register interest in some
file descriptor, but when it goes away, the operating system will
silently drop this interest."
I call close explicitly (Python's os.close(fd) uses on POSIX
close(fd)), so am I not already following this advice?
close does not tell epoll anything (and even if, epoll isn't libev) - what
that sentence means is that close is not the only function that closes
file descriptors.
I was mainly wondering about the documentation's "Some backends need to
be told about closing a file descriptor". I inferred from that that
there is a way to tell the backend that we've closed the descriptor. And
from that I inferred that after telling the backend, libev detects and
handles this situation (via stopping the watcher, throwing an error or
whatever).
Thanks for the insights,
Jan-Philip
_______________________________________________
libev mailing list
[email protected]
http://lists.schmorp.de/cgi-bin/mailman/listinfo/libev