X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=etc%2Fafpd%2Fmain.c;h=85b5147fceaea4e52f35930130ca21d605179335;hb=dcbfd39d8a7df800a55ab0160d890bd61ebc7302;hp=0bd0a4eeec8acf7ed615902524e7f10983677e2d;hpb=16b6bf6c172b3e172be805ad0c7f1b2180375201;p=netatalk.git diff --git a/etc/afpd/main.c b/etc/afpd/main.c index 0bd0a4ee..85b5147f 100644 --- a/etc/afpd/main.c +++ b/etc/afpd/main.c @@ -178,16 +178,21 @@ int main(int ac, char **av) LOG(log_error, logtype_afpd, "main: server_child alloc: %s", strerror(errno) ); afp_exit(EXITERR_SYS); } - + + memset(&sv, 0, sizeof(sv)); #ifdef AFP3x /* linux at least up to 2.4.22 send a SIGXFZ for vfat fs, even if the file is open with O_LARGEFILE ! */ #ifdef SIGXFSZ - signal(SIGXFSZ , SIG_IGN); + sv.sa_handler = SIG_IGN; + sigemptyset( &sv.sa_mask ); + if (sigaction(SIGXFSZ, &sv, NULL ) < 0 ) { + LOG(log_error, logtype_afpd, "main: sigaction: %s", strerror(errno) ); + afp_exit(EXITERR_SYS); + } +#endif #endif -#endif - memset(&sv, 0, sizeof(sv)); sv.sa_handler = child_handler; sigemptyset( &sv.sa_mask ); sigaddset(&sv.sa_mask, SIGALRM);