Impacted versions:
11.0

Steps to reproduce:
Run either 11.0 branch from github or the odoo:11.0 docker image with the --dev=reload argument, and then cause a autoreload by updating python code that is watched.

Current behavior:
The odoo instance shuts down because of a KeyboardInterrupt():

    skynet:~/odoo/odoo-git$ docker run -v /home/rakete/odoo/addons:/mnt/extra-addons -v /home/rakete/odoo/etc/odoo:/etc/odoo -p 8069:8069 --name odoo-dev --link odoo-db:db -t odoo-dev:latest -- --dev=reload
    2017-11-23 19:58:02,483 1 INFO ? odoo: Odoo version 11.0-20171030
    2017-11-23 19:58:02,483 1 INFO ? odoo: Using configuration file at /etc/odoo/odoo.conf
    2017-11-23 19:58:02,483 1 INFO ? odoo: addons paths: ['/var/lib/odoo/addons/11.0', '/mnt/extra-addons', '/usr/lib/python3/dist-packages/odoo/addons']
    2017-11-23 19:58:02,483 1 INFO ? odoo: database: odoo@172.17.0.2:5432
    2017-11-23 19:58:02,490 1 INFO ? odoo.service.server: Watching addons folder /var/lib/odoo/addons/11.0
    2017-11-23 19:58:02,490 1 INFO ? odoo.service.server: Watching addons folder /mnt/extra-addons
    2017-11-23 19:58:02,490 1 INFO ? odoo.service.server: Watching addons folder /usr/lib/python3/dist-packages/odoo/addons
    2017-11-23 19:58:02,641 1 INFO ? odoo.service.server: AutoReload watcher running
    2017-11-23 19:58:02,642 1 INFO ? odoo.service.server: HTTP service (werkzeug) running on 0.0.0.0:8069
    2017-11-23 19:58:02,705 1 INFO ? odoo.addons.base.ir.ir_actions_report: Will use the Wkhtmltopdf binary at /usr/local/bin/wkhtmltopdf
    2017-11-23 19:58:05,499 1 INFO ? odoo.service.server: autoreload: python code updated, autoreload activated
    2017-11-23 19:58:05,500 1 INFO ? odoo.service.server: Initiating shutdown
    2017-11-23 19:58:05,500 1 INFO ? odoo.service.server: Hit CTRL-C again or send a second signal to force the shutdown.
    2017-11-23 19:58:05,501 1 INFO ? odoo.service.server: autoreload: python code updated, autoreload activated
    Traceback (most recent call last):
      File "/usr/bin/odoo", line 8, in <module>
    2017-11-23 19:58:05,502 1 INFO ? odoo.service.server: autoreload: python code updated, autoreload activated
      File "/usr/lib/python3/dist-packages/odoo/cli/command.py", line 60, in main
        o.run(args)
      File "/usr/lib/python3/dist-packages/odoo/cli/server.py", line 175, in run
        main(args)
      File "/usr/lib/python3/dist-packages/odoo/cli/server.py", line 169, in main
        rc = odoo.service.server.start(preload=preload, stop=stop)
      File "/usr/lib/python3/dist-packages/odoo/service/server.py", line 993, in start
        rc = server.run(preload, stop)
      File "/usr/lib/python3/dist-packages/odoo/service/server.py", line 335, in run
        self.stop()
      File "/usr/lib/python3/dist-packages/odoo/service/server.py", line 289, in stop
        self.httpd.shutdown()
      File "/usr/lib/python3.5/socketserver.py", line 249, in shutdown
        self.__is_shut_down.wait()
      File "/usr/lib/python3.5/threading.py", line 549, in wait
        signaled = self._cond.wait(timeout)
      File "/usr/lib/python3.5/threading.py", line 293, in wait
        waiter.acquire()
      File "/usr/lib/python3/dist-packages/odoo/service/server.py", line 214, in signal_handler
        raise KeyboardInterrupt()
    KeyboardInterrupt
    skynet:~/odoo/odoo-git$

Expected behavior:
Odoo should automatically reload the updated python file.

Fixes https://github.com/odoo/odoo/issues/21214

odoo/service/server.py
t0 = time.time()
                t0_sql = odoo.sql_db.sql_counter
                module_names = (registry.updated_modules if update_module else
                                registry._init_modules)
                with odoo.api.Environment.manage():
                    for module_name in module_names:
                        result = run_unit_tests(module_name, registry.db_name,
                                                position=runs_post_install)
                        registry._assertion_report.record_result(result)
                _logger.info("All post-tested in %.2fs, %s queries",
                             time.time() - t0, odoo.sql_db.sql_counter - t0_sql)
            if registry._assertion_report.failures:
                rc += 1
        except Exception:
            _logger.critical('Failed to initialize database `%s`.', dbname, exc_info=True)
            return -1
    return rc
def start(preload=None, stop=False):
    """ Start the odoo http server and cron processor.
    """
    global server
    load_server_wide_modules()
    odoo.service.wsgi_server._patch_xmlrpc_marshaller()
    if odoo.evented:
        server = GeventServer(odoo.service.wsgi_server.application)
    elif config['workers']:
        if config['test_enable'] or config['test_file']:
            _logger.warning("Unit testing in workers mode could fail; use --workers 0.")
        server = PreforkServer(odoo.service.wsgi_server.application)