Commentato il codice del server echo basato sulla funzione poll.
[gapil.git] / sources / poll_echod.c
index bf2774e83c67e8180a8ec4bbed306919b1538823..c2192997dd31add52c185797de7021b02e37aecb 100644 (file)
  *
  * Usage: echod -h give all info
  *
- * $Id: poll_echod.c,v 1.1 2004/01/02 21:32:08 piccardi Exp $
+ * $Id: poll_echod.c,v 1.3 2004/02/17 23:48:46 piccardi Exp $
  *
  ****************************************************************/
 /* 
  * Include needed headers
  */
+#define _XOPEN_SOURCE
 #include <limits.h>      /* system limits */
 #include <sys/types.h>   /* predefined types */
 #include <unistd.h>      /* include unix standard library */
@@ -44,7 +45,6 @@
 #include <errno.h>       /* error code */
 #include <string.h>      /* error strings */
 #include <stdlib.h>
-#define _XOPEN_SOURCE
 #include <sys/poll.h>    /* poll function definition */
 
 #include "macros.h"
@@ -169,7 +169,7 @@ int main(int argc, char *argv[])
     poll_set[max_fd].fd = list_fd;
     /* main loop, wait for connection and data inside a select */
     while (1) {    
-       while ( ((n = poll(poll_set, max_fd, -1)) < 0) 
+       while ( ((n = poll(poll_set, max_fd + 1, -1)) < 0) 
                && (errno == EINTR));         /* wait for data or connection */
        if (n < 0) {                          /* on real error exit */
            PrintErr("poll error");
@@ -236,8 +236,9 @@ void usage(void) {
     printf("  -h          print this help\n");
     printf("  -d          write debug info\n");
     printf("  -i          use interactively\n");
-    printf("  -c          disable BSD semantics\n");
-    printf("  -w N        wait N sec. before calling accept\n");
+    printf("  -c          disable BSD signal semantics\n");
+    printf("  -n N        set max contemporary connection\n");
+    printf("  -w N        wait N sec. before calling poll\n");
     exit(1);
 }
 /*