1
Overview of the filedescriptor subsystem
2
Adrian Chadd <adrian@creative.net.au>
4
$Id: fd-management.txt 6 2005-09-10 01:02:21Z nenolod $
10
The filedescriptor list is managed through the routines in fdlist.c .
13
fd_open() - tag an FD as "open" and active
14
fd_close() - tag an FD as "closed" and close() the filedescriptor
15
fd_note() - update the filedescriptor tag
17
You can get the current list of open filedescriptors through /stats F as
25
The FD list support is very alpha. There are a few lists defined:
27
typedef enum fdlist_t {
36
FDLIST_NONE Not on any list (ie close()d)
37
FDLIST_SERVICE A service - listen() sockets, resolver, etc
38
FDLIST_SERVER Server connections
39
FDLIST_IDLECLIENT An idle client
40
FDLIST_BUSYCLIENT A busy client
41
FDLIST_MAX Used for bounds checking
43
The idea is that the SERVICE sockets need polling frequently, the SERVER
44
sockets also need polling frequently, BUSYCLIENT is for busy clients
45
which need frequent polling (eg we're trying to write to them), and
46
IDLECLIENT is for clients which we don't need to poll frequently.
47
THIS hasn't been decided upon yet.