Hello. I've finally gotten a chance to look at this more closely and
the problem is that GNU make assume that SA_RESTART restarts all
system calls which isn't true for solaris and I suspect isn't true for
any System V based Unix. From looking at the linux sources it appears
to restart everything
? mtime
: UNKNOWN_MTIME);
free (name);
Tom Rodriguez wrote:
>
> Sorry about that. I was using 3.79. 3.79.1 appears to do the right
> thing and looking at the code it has a loop checking for EINTR. 3.80
> doesn't have the loop any
Sorry about that. I was using 3.79. 3.79.1 appears to do the right
thing and looking at the code it has a loop checking for EINTR. 3.80
doesn't have the loop anymore but it does print a message saying that
stat was interrupted but it still performs the useless recompilation.
It looks like so
r char *name;
{
struct stat st;
+ int status;
! do
! status = stat (name, &st);
! while (status < 0 && EINTR_SET);
! if (status < 0)
return (FILE_TIMESTAMP) -1;
return FILE_TIMESTAMP_STAT_MODTIME (st);
This fixes the prob