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 2f623e03a5..a83cea12dd 100644 --- a/src/timezone/zic.c +++ b/src/timezone/zic.c @@ -3634,6 +3634,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))