Let me set everyone straight on Unix timezone stuff.

The kernel has no real concept of a time zone.

On most Unix systems, the default time zone is set by init. It does this by setting the TZ environment variable in its own environment. Since all processes are children of init, all processes inherit that TZ environment variable.

However, when a process is run, it doesn't make any difference who set the TZ variable that it inherits.

On the empeg, the init process is not the init process that is going to be on most general purpose Unix systems. It does not (I'm pretty sure) deal with the time zone at all. This has the effect of setting the ``system'' TZ to UTC.

The time zone that you set in the player changes the time zone for the player. I don't know if it does this by setting the TZ variable or if it deals with figuring the local time itself, but it doesn't really make any difference, since no other process will ever use that setting (unless you could get the player to fork a new process).

I'm not really sure what you're trying to achieve here, but if you want to be able to record the local time zone, then you're going to have to figure out how to do it for your process. It might be possible for preinit to set the time zone by reading in a configuration file, and it would actually pass that to init, but I don't know what it might break by changing the player's time zone. It might make a dual offset, or it might do the right thing. I don't know. Preinit cannot do this now, but it wouldn't be too hard to hack it in.

HTH.
_________________________
Bitt Faulk