We have a small daemon application written in C for several different UNIX platforms (this problem occurs in SunOS 5.10), which basically just opens the serial port and then listens for information coming through the specified port.
In this particular case, the daemon seems to read one transmission (for example, a data file) transmitted over the serial port, then receives a SIGINT. It happens every time. Other clients use this setting very accurately without getting SIGINT. Obviously, users do NOT press Ctrl-C. We have a relatively simple signal handler, so we know for sure that this is what happens.
What else could be causing this? By googling and addressing issues here, I could not find many explanations about other things that might cause SIGINT. I also looked at the code and did not find calls to raise () and only one call to kill (pid, 0), which in any case did not send SIGINT.
Any thoughts or insights will definitely be appreciated.
source
share