title: Python - How to capture gevent socket timeout exception
body: <pre><code>import gevent.monkey
  gevent.monkey.patch_socket()
  import requests
  from gevent.pool import Pool
  import socket
  
  urls = ["http://www.iraniansingles.com"]
  
  
  def check_urls(urls):
      pool = Pool(1)
      for url in urls:
          pool.spawn(fetch, url)
      pool.join()
  
  def fetch(url):
      print url
      try:
          resp = requests.get(url, verify=False, timeout=5.0)
          print resp.status_code
      except socket.timeout:
          print "SocketTimeout"
  
  check_urls(urls)
  </code></pre>
  
  <p>If I remove the first <code>2 lines</code>, my program printing <code>SocketTimeout</code>. But with monkeypatch, my program waits forever.</p>
  
  <p>Can someone tell me how to capture that socket timeout exception with monkeypatch?</p>