We now ignore the SIGXFSZ signal (if it is defined).
[rsync/rsync.git] / main.c
diff --git a/main.c b/main.c
index dfee754..2fa77ed 100644 (file)
--- a/main.c
+++ b/main.c
@@ -792,7 +792,7 @@ void start_server(int f_in, int f_out, int argc, char *argv[])
 
        io_set_sock_fds(f_in, f_out);
        setup_protocol(f_out, f_in);
-#ifdef HAVE_ICONV
+#if defined HAVE_ICONV_OPEN && defined HAVE_ICONV_H
        setup_iconv();
 #endif
 
@@ -831,7 +831,7 @@ int client_run(int f_in, int f_out, pid_t pid, int argc, char *argv[])
 
        io_set_sock_fds(f_in, f_out);
        setup_protocol(f_out,f_in);
-#ifdef HAVE_ICONV
+#if defined HAVE_ICONV_OPEN && defined HAVE_ICONV_H
        setup_iconv();
 #endif
 
@@ -1229,6 +1229,9 @@ int main(int argc,char *argv[])
        /* Ignore SIGPIPE; we consistently check error codes and will
         * see the EPIPE. */
        SIGACTION(SIGPIPE, SIG_IGN);
+#ifdef SIGXFSZ
+       SIGACTION(SIGXFSZ, SIG_IGN);
+#endif
 
        /* Initialize push_dir here because on some old systems getcwd
         * (implemented by forking "pwd" and reading its output) doesn't