>> I reduced my program to that: >> >> #include <stdio.h> >> #include <stdlib.h> >> #include <string.h> >> #define MAX_INPUT 8192 >> int main(int argc, char **argv) >> { >> char request [MAX_INPUT]; >> while (fgets(request, MAX_INPUT , stdin) != NULL) >> { >> printf ("OK\n"); >> } >> return 0; >> } >> >> But, I still get the same problem, > > I jump in the middle of the conversation but, > the return will constantly end the helper... > It is supposed to loop "forever". > I used to use this: > > #define INPUTSIZE 8192 char input[INPUTSIZE]; while (fgets(input, sizeof(input), stdin)) { if ((cp=strchr(input, '\n')) == NULL) { fprintf(stderr, "filter: input too big: %s\n", input); } else { *cp = '\0'; } ... fflush(stderr); fflush(stdout); } > > JD Actually, it should loop forever because the return is outside the while (fgets(...) != NULL) and fgets is supposed to not return NULL unless some error occurs. Also refer to the source code of ext_session_acl which has a return 0 at the end. -- Mohamed Amine Kadimi Tél : +212 (0) 675 72 36 45