%% Tom Rodriguez <[EMAIL PROTECTED]> writes: tr> Hello. I've finally gotten a chance to look at this more closely tr> and the problem is that GNU make assume that SA_RESTART restarts tr> all system calls which isn't true for solaris and I suspect isn't tr> true for any System V based Unix.
Yes, experimentations shows this to be the case. Unfortunately this means that Solaris is not compliant with the POSIX specs, which clearly state that any system call that can return EINTR must respect the SA_RESTART flag. tr> Why not simply define atomic_stat and atomic_readdir all the time tr> and use them throughout make? It wouldn't hurt any platform that tr> never returns EINTR and would guarantee that it works on any tr> platform with a more restricted definition of SA_RESTART. Thanks. I am going to implement a fix similar to this. It should take care of the worst of the problems. However, this does not mean that the problem is solved: GNU make makes many hundreds of different kinds of system calls, and many are hidden behind other user-level libc functions. If SA_RESTART cannot be relied upon to behave as per the POSIX spec then it seems like there's no fully reliable way to provide for this feature without doing prohibitive amounts of work. Thanks for the note! -- ------------------------------------------------------------------------------- Paul D. Smith <[EMAIL PROTECTED]> Find some GNU make tips at: http://www.gnu.org http://make.paulandlesley.org "Please remain calm...I may be mad, but I am a professional." --Mad Scientist _______________________________________________ Bug-make mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/bug-make