X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=command.c;h=ab948b09b129546da1d62a515059deb013e6f50d;hp=c1bbba9aef86d7fccc936d2230f591ce3eb734d4;hb=73414e9b5d2fcf5b3c65558fbd715148a1a38a2b;hpb=7d912dbad687503f2a8d4895b0e48b4584b4940b diff --git a/command.c b/command.c index c1bbba9a..ab948b09 100644 --- a/command.c +++ b/command.c @@ -698,6 +698,10 @@ int handle_connect(int fd, struct sockaddr_in *addr) signal(SIGHUP, SIG_DFL); signal(SIGUSR1, SIG_IGN); + /* we need a blocking fd here as recv() might return EAGAIN otherwise. */ + ret = mark_fd_blocking(fd); + if (ret < 0) + goto err_out; challenge_nr = random(); /* send Welcome message */ ret = send_va_buffer(fd, "This is para_server, version "