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
import datetime
import errno
import logging
import os
import os.path
import platform
import random
import select
import signal
import socket
import subprocess
import sys
import threading
import time
import unittest
import werkzeug.serving
from werkzeug.debug import DebuggedApplication
if os.name == 'posix':