修改了signal的实现，使它能适应windows和linux。