<div dir="ltr">I'm working on cleaning getting rid of all warnings durings a Windows build (there are currently thousands), and I've found something unusual in tools\driver\Platform.h. _INC_SIGNAL is explicitly defined with a comment indicating that the purpose is so that signal.h is not included, and then specific values from signal.h are defined. <div>
<br></div><div>My first question is why not just include signal.h? Since there is a comment here it's clearly intentional, so I'd like to understand the reasoning before just removing this and including signal.h. I thought maybe it was because some compilers on Windows supported signal.h and others didn't, but then in Platform.cpp there is a comment that says "this file is only relevant for Visual C++". So that's not it either.</div>
<div><br></div><div>My second question is regarding the values of some of the constants. Specifically, these:</div><div><br></div><div><div> #define SIG_DFL ( (sighandler_t) -1 )<br></div><div> #define SIG_IGN ( (sighandler_t) -2 )<br>
</div><div><br></div><div> #define SIGCONT 18<br></div><div> #define SIGTSTP 20</div><div><br></div></div><div>These are actually not the correct values. SIG_DFL is 0, SIG_IGN is 1, SIGCONT is 19, and SIGTSTP is 18. Can I assume this is a bug? Note that, again, simply including signal.h would fix this, so this goes back to my first question about the reasoning behind not including it.</div>
<div><br></div><div>Thanks,</div><div>Zach</div></div>