title: Cannot suspend webrick with control-Z after server processes a request
body: <p>When developing a Rails 4.1.6 project, I can start a Webrick server with:</p>
  
  <pre><code>rails s
  </code></pre>
  
  <p>Before the server has processed any requests, I can:</p>
  
  <ul>
  <li>Stop it with control-C</li>
  <li>Suspend it with control-Z</li>
  </ul>
  
  <p>After the server has processed a request, I can still stop it with control-C, but I can no longer suspend it with control-Z.  Typing control-Z echoes "^Z" to the terminal, but the server continues to run and will processes any requests it receives.</p>
  
  <p><strong>Why does control-Z fail to suspend the server once the server has processed a request?</strong></p>
  
  <h1>Details</h1>
  
  <p>Starting the server:</p>
  
  <pre><code>$ rails s
  Warning: NLS_LANG is not set. fallback to US7ASCII.
  =&gt; Booting WEBrick
  =&gt; Rails 4.1.6 application starting in development on http://0.0.0.0:3000
  =&gt; Run `rails server -h` for more startup options
  =&gt; Notice: server is listening on all interfaces (0.0.0.0). Consider using 127.0.0.1 (--binding option)
  =&gt; Ctrl-C to shutdown server
  [2014-10-28 15:16:09] INFO  WEBrick 1.3.1
  [2014-10-28 15:16:09] INFO  ruby 2.1.2 (2014-05-08) [i686-linux]
  [2014-10-28 15:16:09] INFO  WEBrick::HTTPServer#start: pid=29538 port=3000
  </code></pre>
  
  <p>Control-Z before the server has processed any requests:</p>
  
  <pre><code>$ rails s
  Warning: NLS_LANG is not set. fallback to US7ASCII.
  =&gt; Booting WEBrick
  =&gt; Rails 4.1.6 application starting in development on http://0.0.0.0:3000
  =&gt; Run `rails server -h` for more startup options
  =&gt; Notice: server is listening on all interfaces (0.0.0.0). Consider using 127.0.0.1 (--binding option)
  =&gt; Ctrl-C to shutdown server
  ^Z
  [1]+  Stopped                 rails s
  </code></pre>
  
  <p>Processing a request:</p>
  
  <pre><code>Started GET "/" for 127.0.0.1 at 2014-10-28 15:18:24 -0700
    ActiveRecord::SchemaMigration Load (4.2ms)  SELECT "SCHEMA_MIGRATIONS".* FROM "SCHEMA_MIGRATIONS"
     (69.1ms)  SELECT column_name AS name, data_type AS sql_type, data_default, nullable, virtual_column, hidden_column, data_type_owner AS sql_type_owner, DECODE(data_type, 'NUMBER', data_precision, 'FLOAT', data_precision, 'VARCHAR2', DECODE(char_used, 'C', char_length, data_length), 'RAW', DECODE(char_used, 'C', char_length, data_length), 'CHAR', DECODE(char_used, 'C', char_length, data_length), NULL) AS limit, DECODE(data_type, 'NUMBER', data_scale, NULL) AS scale FROM all_tab_cols WHERE owner = 'DOCUMENT_DIRECTOR_DEVELOPMENT' AND table_name = 'SCHEMA_MIGRATIONS' AND hidden_column = 'NO' ORDER BY column_id
  Processing by IndexController#index as JSON
    Rendered index/index.json.jbuilder (3.1ms)
  Completed 200 OK in 10ms (Views: 9.9ms | ActiveRecord: 0.0ms)
  </code></pre>
  
  <p>Control-Z after processing a request, pressed many times because I mean business:</p>
  
  <pre><code>^Z^Z^Z^Z^Z^Z
  </code></pre>
  
  <p>Gemfile:</p>
  
  <pre><code>source 'https://rubygems.org'
  source 'http://gems:9292'
  
  gem 'activerecord-oracle_enhanced-adapter',
    git: 'https://github.com/wconrad/oracle-enhanced.git',
    branch: 'better-system-password-entry'
  gem 'apipie-rails'
  gem 'capistrano-rails', group: :development
  gem 'capistrano-rvm'
  gem 'cucumber-rails', :require =&gt; false, group: [:test]
  gem 'cute_print'
  gem 'database_cleaner', group: [:development, :test]
  gem 'factory_girl_rails', group: [:development, :test]
  gem 'jbuilder'
  gem 'jsonpath', group: :test
  gem 'maruku'
  gem 'newrelic_rpm'
  gem 'opacs_billing'
  gem 'opacs_db'
  gem 'rails'
  gem 'rails-erd', group: :development
  gem 'retryable'
  gem 'rspec-rails', group: [:development, :test]
  gem 'ruby-oci8'
  gem 'sass-rails'
  gem 'sdoc', group: :doc
  gem 'simplecov', require: false, group: :test
  gem 'spring', group: :development
  gem 'versionist'
  gem 'yard'
  </code></pre>
  
  <p>Versions:</p>
  
  <ul>
  <li>MRI 2.1.2</li>
  <li>Rails 4.1.6</li>
  <li>bash 4.2.37</li>
  <li>Debian GNU/Linux "wheezy"</li>
  </ul>