Revert "src: make process.env.TZ setter clear tz cache"

This reverts commit 1d1ab76e1737da4229b3a0774c60a8fbead89040.

PR-URL: https://github.com/nodejs/node/pull/20228
Fixes: https://github.com/nodejs/node/issues/20227
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
This commit is contained in:
Ruben Bridgewater 2018-04-23 17:33:45 +02:00
parent 0f8caf23be
commit e767aa1a2e
No known key found for this signature in database
GPG Key ID: F07496B3EB3C1762
2 changed files with 0 additions and 33 deletions

View File

@ -80,7 +80,6 @@
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
#include <time.h> // tzset(), _tzset()
#include <string>
#include <vector>
@ -136,7 +135,6 @@ using v8::Array;
using v8::ArrayBuffer;
using v8::Boolean;
using v8::Context;
using v8::Date;
using v8::EscapableHandleScope;
using v8::Exception;
using v8::Float64Array;
@ -2690,10 +2688,6 @@ static void EnvSetter(Local<Name> property,
node::Utf8Value key(info.GetIsolate(), property);
node::Utf8Value val(info.GetIsolate(), value);
setenv(*key, *val, 1);
if (key.length() == 2 && key[0] == 'T' && key[1] == 'Z') {
tzset();
Date::DateTimeConfigurationChangeNotification(info.GetIsolate());
}
#else // _WIN32
node::TwoByteValue key(info.GetIsolate(), property);
node::TwoByteValue val(info.GetIsolate(), value);
@ -2702,10 +2696,6 @@ static void EnvSetter(Local<Name> property,
if (key_ptr[0] != L'=') {
SetEnvironmentVariableW(key_ptr, reinterpret_cast<WCHAR*>(*val));
}
if (key.length() == 2 && key[0] == L'T' && key[1] == L'Z') {
_tzset();
Date::DateTimeConfigurationChangeNotification(info.GetIsolate());
}
#endif
// Whether it worked or not, always return value.
info.GetReturnValue().Set(value);

View File

@ -1,23 +0,0 @@
'use strict';
const common = require('../common');
const assert = require('assert');
if (common.isWindows) // Using a different TZ format.
common.skip('todo: test on Windows');
if (common.isAIX || common.isSunOS) // Reports 2018 CEST as CET.
common.skip('tzdata too old');
const date = new Date('2018-04-14T12:34:56.789Z');
process.env.TZ = 'Europe/Amsterdam';
if (/\(Europe\)/.test(date.toString()))
common.skip('not using bundled ICU'); // Shared library or --with-intl=none.
assert.strictEqual(date.toString(), 'Sat Apr 14 2018 14:34:56 GMT+0200 (CEST)');
process.env.TZ = 'Europe/London';
assert.strictEqual(date.toString(), 'Sat Apr 14 2018 13:34:56 GMT+0100 (BST)');
process.env.TZ = 'Etc/UTC';
assert.strictEqual(date.toString(), 'Sat Apr 14 2018 12:34:56 GMT+0000 (UTC)');