title: Using gevent with python xmlrpclib
body: <p>Is it possible to use python's standard libs xmlrpclib with gevent? Currently i'm tried to use monkey.patch_all(), but without success.</p>
  
  <pre><code>from gevent import monkey
  monkey.patch_all()
  
  import gevent
  
  import time
  
  import xmlrpclib
  from SimpleXMLRPCServer import SimpleXMLRPCServer
  
  import urllib2
  
  def fetch(url):
          g = gevent.spawn(urllib2.urlopen, url)
          return g.get().read()
  def is_even(n):
      return n%2 == 0
  
  def req(url):
          return fetch(url)
  
  server = SimpleXMLRPCServer(("localhost", 8000))
  print "Listening on port 8000..."
  server.register_function(is_even, "is_even")
  server.register_function(req, "req")
  server.serve_forever()
  </code></pre>
  
  <p>urllib2.urlopen is blocking server. It looks to me, that monkey.patch_all did not patched socket, that's why it blocks.</p>