mirror of
https://github.com/postgres/postgres.git
synced 2025-07-30 11:03:19 +03:00
Assume that we have utime() and <utime.h>.
These are required by POSIX since SUSv2, and no live platforms fail to provide them. On Windows, utime() exists and we bring our own <utime.h>, so we're good there too. So remove the configure probes and ad-hoc substitute code. We don't need to check for utimes() anymore either, since that was only used as a substitute. In passing, make the Windows build include <sys/utime.h> only where we need it, not everywhere. This is part of a series of commits to get rid of no-longer-relevant configure checks and dead src/port/ code. I'm committing them separately to make it easier to back out individual changes if they prove less portable than I expect. Discussion: https://postgr.es/m/15379.1582221614@sss.pgh.pa.us
This commit is contained in:
@ -26,9 +26,7 @@
|
||||
#include <pwd.h>
|
||||
#include <netinet/in.h>
|
||||
#include <arpa/inet.h>
|
||||
#ifdef HAVE_UTIME_H
|
||||
#include <utime.h>
|
||||
#endif
|
||||
|
||||
#include "access/htup_details.h"
|
||||
#include "catalog/pg_authid.h"
|
||||
@ -1213,29 +1211,8 @@ TouchSocketLockFiles(void)
|
||||
if (strcmp(socketLockFile, DIRECTORY_LOCK_FILE) == 0)
|
||||
continue;
|
||||
|
||||
/*
|
||||
* utime() is POSIX standard, utimes() is a common alternative; if we
|
||||
* have neither, fall back to actually reading the file (which only
|
||||
* sets the access time not mod time, but that should be enough in
|
||||
* most cases). In all paths, we ignore errors.
|
||||
*/
|
||||
#ifdef HAVE_UTIME
|
||||
utime(socketLockFile, NULL);
|
||||
#else /* !HAVE_UTIME */
|
||||
#ifdef HAVE_UTIMES
|
||||
utimes(socketLockFile, NULL);
|
||||
#else /* !HAVE_UTIMES */
|
||||
int fd;
|
||||
char buffer[1];
|
||||
|
||||
fd = open(socketLockFile, O_RDONLY | PG_BINARY, 0);
|
||||
if (fd >= 0)
|
||||
{
|
||||
read(fd, buffer, sizeof(buffer));
|
||||
close(fd);
|
||||
}
|
||||
#endif /* HAVE_UTIMES */
|
||||
#endif /* HAVE_UTIME */
|
||||
/* we just ignore any error here */
|
||||
(void) utime(socketLockFile, NULL);
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user