Pythonバージョン: 3.5.2

タイトルにある通り、下記のようなコードでCTRL_C_EVENTを送信すると、メインプロセス側でもKeyboardInterruptが発生してしまいます。

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import subprocess
import shlex
import time
import signal


def main():
    p = subprocess.Popen(shlex.split('python3 child.py'),
                         shell=False,
                         )
    time.sleep(2)
    print('Send signal')
    p.send_signal(signal.CTRL_C_EVENT)
    p.wait() # <= ここでKeyboardInterruptが発生する


if __name__ == '__main__':
    main()

<< Traceback (most recent call last):
<<   File "test.py", line 48, in <module>
<<     main()
<<     └ <function main at 0x02805810>
<<   File "test.py", line 26, in main
<<     p.wait()
<<     └ <subprocess.Popen object at 0x02F25CD0>
<<   File "C:\Python35-32\lib\subprocess.py", line 1275, in wait
<<     timeout_millis)

wait()だけでなく、print()等の、ブロックが発生する関数を呼び出して時点でKeyboardInterrputが呼び出されているように思います。
これはこういった仕様なのでしょうか?Windowsでsubprocessを安全に終了させる方法が中々見つけることができず、苦戦しています。