By the year 2038, the time_t representation for the current time will be over 2 140 000 000. And that's the problem. A modern 32-bit computer stores a "signed integer" data type, such as time_t, in 32 bits. The first of these bits is used for the positive/negative sign of the integer, while the remaining 31 bits are used to store the number itself. The highest number these 31 data bits can store works out to exactly 2 147 483 647. A time_t value of this exact number, 2 147 483 647, represents January 19, 2038, at 7 seconds past 3:14 AM Greenwich Mean Time. So, at 3:14:07 AM GMT on that fateful day, every time_t used in a 32-bit C or C++ program will reach its upper limit.
One second later, on 19-January-2038 at 3:14:08 AM GMT, disaster strikes.
The fact this time flaw exists even after y2k is lollable. I don't expect anything major to happen and any client using 32-bit at that time probably deserves to live in 1901, but the fact the flaw exists says a lot about how much the UNIX developers actually care about quality control of a possible catastrophic failure.
RodgerB, i don't think that in 2038, 32 bit computers will still be popular as they are now, as the article says, in 2038 most computers will become 128 bit if not even more, so i don't think there will be a disaster out of that...
Seriously though, the closer we get to this deadline the more likely there will be the same totally pointless panic when everyone starts believing planes will fall out of the sky and their washing machine will explode as there was in 1999.