From mboxrd@z Thu Jan 1 00:00:00 1970 Delivered-To: chneukirchen@gmail.com Received: by 10.239.171.136 with SMTP id w8cs95415hbe; Mon, 12 Jul 2010 08:44:13 -0700 (PDT) Return-Path: Received-SPF: pass (google.com: domain of rack-devel+bncCP_V2_zRBRDL8OzhBBoEmkX0Zg@googlegroups.com designates 10.216.229.86 as permitted sender) client-ip=10.216.229.86; Authentication-Results: mr.google.com; spf=pass (google.com: domain of rack-devel+bncCP_V2_zRBRDL8OzhBBoEmkX0Zg@googlegroups.com designates 10.216.229.86 as permitted sender) smtp.mail=rack-devel+bncCP_V2_zRBRDL8OzhBBoEmkX0Zg@googlegroups.com; dkim=pass header.i=rack-devel+bncCP_V2_zRBRDL8OzhBBoEmkX0Zg@googlegroups.com Received: from mr.google.com ([10.216.229.86]) by 10.216.229.86 with SMTP id g64mr3684782weq.14.1278949452620 (num_hops = 1); Mon, 12 Jul 2010 08:44:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=beta; h=domainkey-signature:received:x-beenthere:received:received:received :received:received-spf:received:received:received:mime-version :subject:from:in-reply-to:date:message-id:references:to:x-mailer :x-original-sender:x-original-authentication-results:reply-to :precedence:mailing-list:list-id:list-post:list-help:list-archive :sender:list-subscribe:list-unsubscribe:content-type :content-transfer-encoding; bh=lNRSQyh3tNnw9sxhSbs0URXkV7U/fTFzwdezk086+r8=; b=GzHdArCY+U7mSuVdlTmNXkuiBoK65G9bkkVTDKctkFrOUmhugNKRREklVZCW6Bfzk+ yyyrAJN1Ev+VvPn9RdWI29sV5ug1PziOcVHd+3RwBAZEHcGtv4Yv9VnhXV9w18XznjP2 jEI19dyFrHOZfzF3gxb1DE5721XdUAmRLJ0Do= DomainKey-Signature: a=rsa-sha1; c=nofws; d=googlegroups.com; s=beta; h=x-beenthere:received-spf:mime-version:subject:from:in-reply-to:date :message-id:references:to:x-mailer:x-original-sender :x-original-authentication-results:reply-to:precedence:mailing-list :list-id:list-post:list-help:list-archive:sender:list-subscribe :list-unsubscribe:content-type:content-transfer-encoding; b=FZtJ+z8cB9z2ofb+yL/8i5R6uNp9zNaQN4TMgDMpDQ42CYgoZ7KkwQec3qKNjZpnZj bx+OKSYXLyHuZj5+Fny+Gr2d56DnntzrQCfHGaxMd0nWQCqZ3PEQLQDeL9FVonTWBD7g /uoc5/l1hyGDm+He300SFUZJCcgcTMvaL91gc= Received: by 10.216.229.86 with SMTP id g64mr773203weq.14.1278949451360; Mon, 12 Jul 2010 08:44:11 -0700 (PDT) X-BeenThere: rack-devel@googlegroups.com Received: by 10.213.41.69 with SMTP id n5ls668124ebe.2.p; Mon, 12 Jul 2010 08:44:09 -0700 (PDT) Received: by 10.213.26.75 with SMTP id d11mr1865610ebc.23.1278949449224; Mon, 12 Jul 2010 08:44:09 -0700 (PDT) Received: by 10.213.26.75 with SMTP id d11mr1865609ebc.23.1278949449194; Mon, 12 Jul 2010 08:44:09 -0700 (PDT) Received: from mail-ew0-f44.google.com (mail-ew0-f44.google.com [209.85.215.44]) by gmr-mx.google.com with ESMTP id b5si5070519eei.0.2010.07.12.08.44.08; Mon, 12 Jul 2010 08:44:08 -0700 (PDT) Received-SPF: pass (google.com: domain of jftucker@gmail.com designates 209.85.215.44 as permitted sender) client-ip=209.85.215.44; Received: by ewy22 with SMTP id 22so1046605ewy.31 for ; Mon, 12 Jul 2010 08:44:08 -0700 (PDT) Received: by 10.213.26.75 with SMTP id d11mr1603043ebc.27.1278949448000; Mon, 12 Jul 2010 08:44:08 -0700 (PDT) Received: from [192.168.1.101] (bb-87-81-237-21.ukonline.co.uk [87.81.237.21]) by mx.google.com with ESMTPS id z55sm38161293eeh.3.2010.07.12.08.44.06 (version=TLSv1/SSLv3 cipher=RC4-MD5); Mon, 12 Jul 2010 08:44:07 -0700 (PDT) Mime-Version: 1.0 (Apple Message framework v1081) Subject: Re: ctrl-c not working in Rack::Handler::WEBrick From: James Tucker In-Reply-To: Date: Mon, 12 Jul 2010 16:44:05 +0100 Message-Id: References: To: rack-devel@googlegroups.com X-Mailer: Apple Mail (2.1081) X-Original-Sender: jftucker@gmail.com X-Original-Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of jftucker@gmail.com designates 209.85.215.44 as permitted sender) smtp.mail=jftucker@gmail.com; dkim=pass (test mode) header.i=@gmail.com Reply-To: rack-devel@googlegroups.com Precedence: list Mailing-list: list rack-devel@googlegroups.com; contact rack-devel+owners@googlegroups.com List-ID: List-Post: , List-Help: , List-Archive: Sender: rack-devel@googlegroups.com List-Subscribe: , List-Unsubscribe: , Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable Stephen,=20 Please see my comments on the issue. Handlers shouldn't contain traps, Rack::Server is responsible for that. On 12 Jul 2010, at 03:48, Stephen Bannasch wrote: > After this commit: >=20 > = http://github.com/rack/rack/commit/e516d89ffcdad1c9d58432aaaff4a382ed3997e= 7 >=20 > commit e516d8= 9 > Author: raggi > Date: Tue Mar 23 19:29:44 2010 +0000 >=20 > Move trap(:INT) to Rack::Server and support optional > Handler protocol where handlers may implement .shutdown > to do pre-exit cleanup. >=20 > CTRL-C no longer works to shut down webrick. >=20 > I've created an issue here: = http://github.com/rack/rack/issues/#issue/35 >=20 > Here's a trivial rack app with a webrick handler that shows the = problem: >=20 > require 'rack' > app =3D proc do |env| > [200, { 'Content-Type' =3D> 'text/html' }, 'hello from rack and = webrick'] > end > server =3D ::Rack::Handler::WEBrick > server.run app, :Port =3D> 3002 >=20 > Run this and try typing ctrl-c in the console: >=20 > $ ruby hellorack.rb > [2010-07-11 22:34:35] INFO WEBrick 1.3.1 > [2010-07-11 22:34:35] INFO ruby 1.9.1 (2010-01-10) = [i386-darwin9.8.0] > [2010-07-11 22:34:35] INFO WEBrick::HTTPServer#start: pid=3D82455 = port=3D3002 > ^C[2010-07-11 22:34:37] ERROR Interrupt: > = /Users/stephen/.rvm/rubies/ruby-1.9.1-p378/lib/ruby/1.9.1/webrick/server.r= b:90:in `select' >=20 > An error is displayed but the program does not quit. >=20 > In this simple example the code at lib/rack/server.rb:208 is never = executed and > no handler is actually registered for ctrl-c: >=20 > trap(:INT) do > if server.respond_to?(:shutdown) > server.shutdown > else > exit > end > end >=20 > Rack::Handler instances don't appear to be related to Rack::Server = instances.