summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2016-12-15 14:32:42 -0500
committerTom Lane <tgl@sss.pgh.pa.us>2016-12-15 14:33:19 -0500
commit2b7d715c0d987c5f5663afe081825ecccd2d8848 (patch)
tree4ca2997db491abdfc0b359e863fae51dc6b27370
parent60314e28eb02c82eb658aaf3c7fcf253004acbb4 (diff)
downloadpostgresql-2b7d715c0d987c5f5663afe081825ecccd2d8848.tar.gz
Sync our copy of the timezone library with IANA release tzcode2016j.
This is a trivial update (consisting in fact only in the addition of a comment). The point is just to get back to being synced with an official release of tzcode, rather than some ad-hoc point in their commit history, which is where commit 1f87181e1 left it.
-rw-r--r--src/timezone/README2
-rw-r--r--src/timezone/zic.c5
2 files changed, 6 insertions, 1 deletions
diff --git a/src/timezone/README b/src/timezone/README
index f2f80c7176..a82d77c7ba 100644
--- a/src/timezone/README
+++ b/src/timezone/README
@@ -50,7 +50,7 @@ match properly on the old version.
Time Zone code
==============
-The code in this directory is currently synced with tzcode release 2016c.
+The code in this directory is currently synced with tzcode release 2016j.
There are many cosmetic (and not so cosmetic) differences from the
original tzcode library, but diffs in the upstream version should usually
be propagated to our version. Here are some notes about that.
diff --git a/src/timezone/zic.c b/src/timezone/zic.c
index ec3fcd1f58..c68ae31549 100644
--- a/src/timezone/zic.c
+++ b/src/timezone/zic.c
@@ -3646,6 +3646,11 @@ mkdirs(char const * argname, bool ancestors)
*/
if (mkdir(name, MKDIR_UMASK) != 0)
{
+ /*
+ * For speed, skip itsdir if errno == EEXIST. Since mkdirs is
+ * called only after open fails with ENOENT on a subfile, EEXIST
+ * implies itsdir here.
+ */
int err = errno;
if (err != EEXIST && !itsdir(name))