1
0
mirror of https://github.com/postgres/postgres.git synced 2025-11-10 17:42:29 +03:00

For application to HEAD, following community review.

* Changes incorrect CYGWIN defines to __CYGWIN__

* Some localtime returns NULL checks (when unchecked cause SEGVs under
Win32
regression tests)

* Rationalized CreateSharedMemoryAndSemaphores and
AttachSharedMemoryAndSemaphores (Bruce, I finally remembered to do it);
requires attention.

Claudio Natoli
This commit is contained in:
Bruce Momjian
2004-02-25 19:41:23 +00:00
parent 5ada9ef088
commit c672aa823b
11 changed files with 102 additions and 104 deletions

View File

@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
* $PostgreSQL: pgsql/src/backend/utils/adt/datetime.c,v 1.124 2004/01/19 19:04:40 tgl Exp $
* $PostgreSQL: pgsql/src/backend/utils/adt/datetime.c,v 1.125 2004/02/25 19:41:23 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -1611,6 +1611,10 @@ DetermineLocalTimeZone(struct tm * tm)
* and reassemble to get a representation of local time.
*/
tx = localtime(&mytime);
if (!tx)
ereport(ERROR,
(errcode(ERRCODE_DATETIME_VALUE_OUT_OF_RANGE),
errmsg("timestamp out of range")));
day = date2j(tx->tm_year + 1900, tx->tm_mon + 1, tx->tm_mday) -
UNIX_EPOCH_JDATE;
locsec = tx->tm_sec + (tx->tm_min + (day * 24 + tx->tm_hour) * 60) * 60;
@@ -1632,6 +1636,10 @@ DetermineLocalTimeZone(struct tm * tm)
mysec += delta1;
mytime = (time_t) mysec;
tx = localtime(&mytime);
if (!tx)
ereport(ERROR,
(errcode(ERRCODE_DATETIME_VALUE_OUT_OF_RANGE),
errmsg("timestamp out of range")));
day = date2j(tx->tm_year + 1900, tx->tm_mon + 1, tx->tm_mday) -
UNIX_EPOCH_JDATE;
locsec = tx->tm_sec + (tx->tm_min + (day * 24 + tx->tm_hour) * 60) * 60;
@@ -1653,6 +1661,10 @@ DetermineLocalTimeZone(struct tm * tm)
mysec += (delta2 - delta1);
mytime = (time_t) mysec;
tx = localtime(&mytime);
if (!tx)
ereport(ERROR,
(errcode(ERRCODE_DATETIME_VALUE_OUT_OF_RANGE),
errmsg("timestamp out of range")));
day = date2j(tx->tm_year + 1900, tx->tm_mon + 1, tx->tm_mday) -
UNIX_EPOCH_JDATE;
locsec = tx->tm_sec + (tx->tm_min + (day * 24 + tx->tm_hour) * 60) * 60;

View File

@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
* $PostgreSQL: pgsql/src/backend/utils/cache/relcache.c,v 1.197 2004/02/10 01:55:26 tgl Exp $
* $PostgreSQL: pgsql/src/backend/utils/cache/relcache.c,v 1.198 2004/02/25 19:41:23 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -3266,13 +3266,13 @@ write_relcache_init_file(void)
* OK, rename the temp file to its final name, deleting any
* previously-existing init file.
*/
#if defined(WIN32) || defined(CYGWIN)
#if defined(WIN32) || defined(__CYGWIN__)
rename(tempfilename, finalfilename);
LWLockRelease(RelCacheInitLock);
#else
{
char finalfilename_new[MAXPGPATH];
snprintf(finalfilename_new, sizeof(finalfilename_new), "%s.new", finalfilename);
rename(tempfilename, finalfilename_new);
LWLockRelease(RelCacheInitLock);