Y2038K

Giorgos Keramidas keramida at hades.hell.gr
Fri Sep 17 02:08:39 EEST 1999


On Thu, Sep 16, 1999 at 10:09:54PM +0000, Panagiotis Voudouris wrote:
| Διάβαζα τo linux-FAQ (δουλεία δεν είχε ο διάολος....) και είδα ότι για
| το Y2K λέει ότι το Linux χρησιμοποιεί 32-bit integers για να μετρά τα
| δευετερόλεπτα από το 1970. Έτσι, το overflow θα επέλθει το έτος 2038 το
| οποίο όμως όπως το υπολόγισα εγώ (2^32/60/60/24/365) θα έπρεπε να συμβεί
| το 2106. Άρα χρησιμοποιούν signed integer και χρησιμοποιούν από το 0 και
| πάνω χαραμίζοντας τα υπόλοιπα μισά νούμερα. Είναι δυνατόν ή απλά ο τύπος
| που το έγραψε (το FAQ) κάνει λάθος;

Όχι, όχι, όχι... αν πας στο /usr/include/linux/types.h θα δεις ένα
definition του τύπου time_t κάτι σαν:

	typedef __kernel_time_t		time_t;

Και στο /usr/include/asm/posix_types.h θα βρεις το:

	typedef long			__kernel_time_t;

οπότε όπως καταλαβαίνεις είναι 31 τα 'χρήσιμα' bits.

Τρεχάλα για κονσέρβες γρήγορα...

-- 
Giorgos Keramidas, <keramida at ceid.upatras.gr>
Public PGP key at finger://keramida@diogenis.ceid.upatras.gr/
"Today is not yesterday's tomorrow, but tomorrow's yesterday."
--
====================================================================
Gia boithia (h na diagrafhte) e-mail sto majordomo at hellug.gr
Ta archives tis listas einai sto http://lists.hellug.gr/archives
prin steilete kapoia erothsh psakte mipos exei hdh apanththei.
Gia opoiodipote problima stilte e-mail ston owner-linux-greek-users at hellug.gr
====================================================================



More information about the Linux-greek-users mailing list