From owner-freebsd-hackers@FreeBSD.ORG Fri Jul 23 01:29:25 2004 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 0772116A4E9 for ; Fri, 23 Jul 2004 01:29:25 +0000 (GMT) Received: from rwcrmhc12.comcast.net (rwcrmhc12.comcast.net [216.148.227.85]) by mx1.FreeBSD.org (Postfix) with ESMTP id C275343D1F for ; Fri, 23 Jul 2004 01:29:24 +0000 (GMT) (envelope-from freebsd@joelink.net) Received: from [192.168.0.3] (c-24-14-79-34.client.comcast.net[24.14.79.34]) by comcast.net (rwcrmhc12) with ESMTP id <20040723012923014003m46re>; Fri, 23 Jul 2004 01:29:24 +0000 Message-ID: <410069F0.5040604@joelink.net> Date: Thu, 22 Jul 2004 20:29:20 -0500 From: Joseph M Link User-Agent: Mozilla Thunderbird 0.7.2 (Windows/20040707) X-Accept-Language: en-us, en MIME-Version: 1.0 To: pradeep reddy punnam References: <20040723005940.18029.qmail@web53410.mail.yahoo.com> In-Reply-To: <20040723005940.18029.qmail@web53410.mail.yahoo.com> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit cc: freebsd-hackers@freebsd.org Subject: Re: regarding timeout/untimeout kernel functions X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 23 Jul 2004 01:29:25 -0000 If you're willing to take some precautions, you could run the timer code with select/usleep in a separate thread. However, since the callbacks would originate from that thread, you would need mutexes to protect any data that the function accesses that could also be accessed by the normal program flow. Joe pradeep reddy punnam wrote: > HI all, > i am working on a project , where i came across a situation where i need to execute a function when a timer expires ,exactly similar to functionality of the timeout() kernel function but i need this in userland(application), and the execution of the function is time sensitive, it should be run immediately when timer expires. > > i can't be using poll or select for timer becuse those will block the process untill the timer expires.for me the proess should not be blocked. > and i also thought of taking the service of the timeout function by writing a system call and using signaling mechanism but i think this will become expensive when the number of timers to be checked increeses. > > i read the kern_timeout.c code that is very good implentation.with very less expensive. > but i think user unable to enjoy that service. > > i will thankful if somebody can tell if there is any such a service or way provided by os( that i overlooked). > > thanks, > > -Pradeep > > > > > > > --------------------------------- > Do you Yahoo!? > Vote for the stars of Yahoo!'s next ad campaign! > _______________________________________________ > freebsd-hackers@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-hackers > To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@freebsd.org"