From owner-freebsd-bugs Thu Nov 14 5:40: 9 2002 Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B35AB37B401 for ; Thu, 14 Nov 2002 05:40:06 -0800 (PST) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id F279543E7B for ; Thu, 14 Nov 2002 05:40:05 -0800 (PST) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.12.6/8.12.6) with ESMTP id gAEDe5x3052533 for ; Thu, 14 Nov 2002 05:40:05 -0800 (PST) (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.12.6/8.12.6/Submit) id gAEDe5xt052529; Thu, 14 Nov 2002 05:40:05 -0800 (PST) Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 1E48A37B401 for ; Thu, 14 Nov 2002 05:39:21 -0800 (PST) Received: from mail.cs.tu-berlin.de (mail.cs.tu-berlin.de [130.149.17.13]) by mx1.FreeBSD.org (Postfix) with ESMTP id 835AB43E6E for ; Thu, 14 Nov 2002 05:39:16 -0800 (PST) (envelope-from boris@cs.tu-berlin.de) Received: from fiesta.cs.tu-berlin.de (daemon@fiesta.cs.tu-berlin.de [130.149.17.4]) by mail.cs.tu-berlin.de (8.9.3/8.9.3) with ESMTP id OAA12356 for ; Thu, 14 Nov 2002 14:33:54 +0100 (MET) Received: (from boris@localhost) by fiesta.cs.tu-berlin.de (8.11.6+Sun/8.9.3) id gAEDXsx15017 for FreeBSD-gnats-submit@freebsd.org; Thu, 14 Nov 2002 14:33:54 +0100 (MET) Message-Id: <20021114133354.GA13558@fiesta.cs.tu-berlin.de> Date: Thu, 14 Nov 2002 14:33:54 +0100 From: Boris Nikolaus Reply-To: Boris Nikolaus To: FreeBSD-gnats-submit@FreeBSD.org X-Send-Pr-Version: 3.113 Subject: kern/45291: kevent(2) ignores timeout if nevents == 0 Sender: owner-freebsd-bugs@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org >Number: 45291 >Category: kern >Synopsis: kevent(2) ignores timeout if nevents == 0 >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Thu Nov 14 05:40:01 PST 2002 >Closed-Date: >Last-Modified: >Originator: Boris Nikolaus >Release: FreeBSD 4.7-STABLE i386 >Organization: >Environment: System: FreeBSD XXXXX 4.7-STABLE FreeBSD 4.7-STABLE #43: Tue Oct 22 20:25:44 CEST 2002 root@XXXXXX:/usr/src/sys/compile/BORIS i386 >Description: kevent(2) returns immediatly (ignoring the given timeout) if the "nevents" parameter is 0. I would expect that it sleeps the time (similar to poll(2)/select(2)). >How-To-Repeat: This program terminates immediately instead of sleeping for 10 seconds: #include #include #include #include int main() { int qfd; struct timespec ts; int ret; qfd = kqueue(); ts.tv_sec = 10; ts.tv_nsec = 0; ret = kevent(qfd, NULL, 0, NULL, 0, &ts); printf("kevent returned %d\n", ret); return 0; } >Fix: Problem can be circumvented by calling "nanosleep(&ts, NULL)" if the nevents parameter would be 0. >Release-Note: >Audit-Trail: >Unformatted: To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message