David Miller <[EMAIL PROTECTED]> writes: > I agree with this analysis. > > The Linux man page for times() explicitly lists (clock_t) -1 as a > return value meaning error. > > So even if we did make some effort to return errors "properly" (via > force_successful_syscall_return() et al.) userspace would still be > screwed because (clock_t) -1 would be interpreted as an error. > > Actually I think this basically proves we cannot return (clock_t) -1 > ever because all existing userland (I'm not talking about inside > glibc, I'm talking about inside of applications) will see this as an > error. > > User applications have no other way to check for error. > > This API is definitely very poorly designed, no matter which way we > "fix" this some case will remain broken.
A possible remedy is to return the ticks since process start time, which delays the wrap around much further. POSIX only demands consistency within the same process. Andreas. -- Andreas Schwab, SuSE Labs, [EMAIL PROTECTED] SuSE Linux Products GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany PGP key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5 "And now for something completely different." - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/