Date: Mon, 7 Dec 1998 12:16:45 -0800 (PST) From: z@rentaboat.se To: freebsd-gnats-submit@FreeBSD.ORG Subject: misc/8998: Problem with alarm(3) Message-ID: <199812072016.MAA10740@hub.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 8998 >Category: misc >Synopsis: Problem with alarm(3) >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: Mon Dec 7 12:20:00 PST 1998 >Last-Modified: >Originator: Zs >Organization: >Release: FreeBSD 2.2.7 >Environment: FreeBSD <fqdn> 2.2.7-RELEASE FreeBSD 2.2.7-RELEASE #0: Wed Oct 21 15:42: 16 GMT 1998 z@<fqdn>:/usr/src/sys/compile/<HOSTNAME>-KERN i386 >Description: The manual for alarm(3) states that the maximum number of seconds allowed is 2147483647, but alarm() calls setitimer() which accepts only 100000000 seconds. >How-To-Repeat: #include <stdio.h> #include <stdlib.h> #include <unistd.h> int main(void) { (void) alarm(100000001); if (sleep(1) != 0) { (void) fprintf(stderr, "Sleep got interrupted\n"); return EXIT_FAILURE; } (void) printf("Seconds left of the timer: %u\n", alarm(0)); return EXIT_SUCCESS; } >Fix: Change the limit stated in the man page to 100000000, and in /usr/src/lib/libc/gen/alarm.c, check if the caller has specified a larger value and return -1 if so. >Audit-Trail: >Unformatted: To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199812072016.MAA10740>