Signals that cause a system call to return EINTR come from where signals normally come from. The behavior you describe can be caused by any signal that is caught by a signal handler.
I interpret your question that you have a concrete situation where your blocking system calls are interrupted by signals you have been unable to find the cause for. As a clue you wrote that these mysterious signals typically occur when you are using the fcntl system call. The fcntl system call can be used to notify the process of events such as changes in the file system. These events are reported as signals. I can't give a more specific answer without knowing more what your code does. Check what you are using fcntl for.