the paraslash-0.2.12 release tarball
[paraslash.git] / fd.c
diff --git a/fd.c b/fd.c
index f5d326c044d4e9b08aec613b25845a9e074aa3ea..c5a37cdd2a4e5c28437df2fbbf3b44b313ac0636 100644 (file)
--- a/fd.c
+++ b/fd.c
@@ -20,6 +20,7 @@
 
 #include "para.h"
 
+#include <fcntl.h>
 #include <sys/select.h>
 
 #include "error.h"
@@ -84,3 +85,18 @@ int mark_fd_nonblock(int fd)
        return 1;
 }
 
+/**
+ * set a file descriptor in a fd_set
+ *
+ * \param fd the file descriptor to be set
+ * \param fds the file descriptor set
+ * \param max_fileno highest-numbered file descriptor
+ *
+ * This wrapper for FD_SET() passes its first two arguments to \p FD_SET. Upon
+ * return, \a max_fileno contains the maximum of the old_value and \a fd.
+*/
+void para_fd_set(int fd, fd_set *fds, int *max_fileno)
+{
+       FD_SET(fd, fds);
+       *max_fileno = PARA_MAX(*max_fileno, fd);
+}