From owner-freebsd-bugs Thu Apr 22 12:32:32 1999 Delivered-To: freebsd-bugs@freebsd.org Received: from freefall.freebsd.org (freefall.FreeBSD.ORG [204.216.27.21]) by hub.freebsd.org (Postfix) with ESMTP id 0D79314F72 for ; Thu, 22 Apr 1999 12:32:30 -0700 (PDT) (envelope-from gnats@FreeBSD.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.9.2/8.9.2) id MAA95422; Thu, 22 Apr 1999 12:30:02 -0700 (PDT) (envelope-from gnats@FreeBSD.org) Received: from anon.lcs.mit.edu (anon.lcs.mit.edu [18.26.0.254]) by hub.freebsd.org (Postfix) with SMTP id 64F2814D1E for ; Thu, 22 Apr 1999 12:23:46 -0700 (PDT) (envelope-from serge69@nym.alias.net) Message-Id: <19990422192116.31130.qmail@nym.alias.net> Date: 22 Apr 1999 19:21:16 -0000 From: Sergey To: FreeBSD-gnats-submit@freebsd.org Subject: bin/11283: fetch http-timeout/timestamp bug Sender: owner-freebsd-bugs@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org >Number: 11283 >Category: bin >Synopsis: fetch http-timeout/timestamp bug >Confidential: no >Severity: serious >Priority: medium >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Thu Apr 22 12:30:01 PDT 1999 >Closed-Date: >Last-Modified: >Originator: Sergey >Release: FreeBSD 3.1-RELEASE i386 & FreeBSD-3.1-stable >Organization: >Environment: >Description: Timestamp on output file is incorrect when fetch terminates due to http timeout (-R -T). This causes re-fetching of the WHOLE file on restart (-r). >How-To-Repeat: client$ fetch -R -T 5 http://server/x.tgz server# killall -stop httpd && sleep 5 && killall -cont httpd client$ fetch -R -r http://server/x.tgz Fetching .... 0% >Fix: --- main.c.org Thu Feb 25 23:42:00 1999 +++ main.c Thu Apr 22 22:30:56 1999 @@ -277,6 +277,7 @@ fprintf(stderr, "\n"); /* just in case */ warnx("%s: interrupted by signal: %s", fs->fs_status, sys_signame[error]); +close: sigdelset(&omask, error); signal(error, SIG_DFL); sigprocmask(SIG_SETMASK, (sigset_t *)&omask, 0); @@ -286,7 +287,6 @@ sigprocmask(SIG_SETMASK, (sigset_t *)&omask, 0); error = fs->fs_retrieve(fs); -close: sigaction(SIGHUP, &oldhup, 0); sigaction(SIGINT, &oldint, 0); sigaction(SIGQUIT, &oldquit, 0); >Release-Note: >Audit-Trail: >Unformatted: To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message