On 30/09/12 02:23, Martin Pool wrote:
Depending on the compiler, it may be possible to see from the waitstatus that it was interrupted, and so to avoid caching the result. Or, perhaps you can do something with process groups to let ccache observe the interrupt signal itself and so be sure not to cache it.
Yes, I think it's probably reasonable to only cache failures where the return code is not a signal. The compiler does handle SIGSEGV ("Internal compiler error") but not other signals, I think, so that works out quite nicely.
If you emit a message when printing a cached error it ought to be safe enough to experiment with.
Agreed, I was thinking of something like this: file.c: warning: This compile failure has been cached by ccache. file.c: warning: Set CCACHE_RECACHE=1 to try the compiler again.
As much as possible we want things to be pure functions of the input, both in the input to ccache, and in how ccache itself behaves.
Agreed, I hate it when I spend all day trying to figure out what's broken, and then tomorrow it just works. Sure, I'm unstuck, but I've learned nothing.
Andrew _______________________________________________ ccache mailing list ccache@lists.samba.org https://lists.samba.org/mailman/listinfo/ccache