Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S964967AbVKGTaK (ORCPT ); Mon, 7 Nov 2005 14:30:10 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S965177AbVKGTaK (ORCPT ); Mon, 7 Nov 2005 14:30:10 -0500 Received: from zproxy.gmail.com ([64.233.162.198]:41523 "EHLO zproxy.gmail.com") by vger.kernel.org with ESMTP id S964967AbVKGTaI (ORCPT ); Mon, 7 Nov 2005 14:30:08 -0500 DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:user-agent:x-accept-language:mime-version:to:subject:content-type:content-transfer-encoding; b=pRjIvE8Ap8dUZw+ulsJVC1cC6L4Wb2ORLdHFx1UXghilsramFPBGEZ9venkdClIwHhBaTsqIXyvqeysms9szW3/L3gaBnlcPA4Ncc/X5N66iitdZ+pJkrEq6npr8qWVx2XS1+v1IDiXtl1IxR1kYBcAQWcgOHFGBADCjIF/QBqY= Message-ID: <436FAB32.20807@gmail.com> Date: Mon, 07 Nov 2005 19:29:54 +0000 From: Ram Gupta User-Agent: Mozilla Thunderbird 1.0.7-1.1.fc4 (X11/20050929) X-Accept-Language: en-us, en MIME-Version: 1.0 To: linux-kernel@vger.kernel.org Subject: RE: negative timeout can be set up by setsockopt system call Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2032 Lines: 54 On 11/7/05, Ram Gupta wrote: > On 11/4/05, Nish Aravamudan > > > > In Ram's specific case, I think, the call path is sys_setsockopt() -> > > sock_setsockopt() -> sock_set_timeout, which has a definition of: > > > > static int sock_set_timeout(long *timeo_p, char __user *optval, int > optlen) > > >> Exactly right. Ok. > > Ram, what is the expected behavior of negative values in the timeval? > > And what are you seeing happen right now? > > > > As of 2.6.14, looks like we convert any non-zero values into jiffies > > and store them in sk->sk_{rcv,snd}timeo... > > > I don't see any problem from the kernel side but the application > times out immediately causing certain failures as the schedule_timeout > returns immediately in case of negative values. Shouldn't there be a > check for negative values and return error to the application so that > it can handle it. I mean more along the lines of what does a man-page say the kernel should be doing if you request a negative timeout? More explicitly, what made you think negative timeouts should have a specific effect? >> The man page is silent about the timeout behaviour in case of its being negative. I believe that negative timeout is a mistake on behalf of an application and hence should be treated as such (i.e should be notified accordingly) When you say schedule_timeout() returns immediately, I assume your logs are filling up with "schedule_timeout: wrong timeout ..." ? (You may need to bump your loglevel). If not, then schedule_timeout() isn't getting a negative value. >> Yes I am getting the "schedule_timeout: wrong timeout ..." messages so I am sure the timeout has negative value. Thanks, Nish regards Ram Gupta - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/