Adds a file descriptor to list.
The file descriptor is duplicated using dup(). You keep your copy of the descriptor and the copy contained in list will be closed when list is finalized.
A possible cause of failure is exceeding the per-process or system-wide file descriptor limit.
The index of the file descriptor in the list is returned. If you use this index with g_unix_fd_list_get() then you will receive back a duplicated copy of the same file descriptor.