Remove dead getrusage replacement code.
getrusage() is in SUSv2 and all targeted Unix systems have it. Note that POSIX only covers ru_utime and ru_stime and we rely on many more fields without any kind of configure probe, but that predates this commit. The only supported system we need replacement code for now is Windows, and that can be done without a configure probe. Reviewed-by: Tom Lane <tgl@sss.pgh.pa.us> Reviewed-by: Greg Stark <stark@mit.edu> Reviewed-by: Robert Haas <robertmhaas@gmail.com> Discussion: https://postgr.es/m/CA+hUKGJ3LHeP9w5Fgzdr4G8AnEtJ=z=p6hGDEm4qYGEUX5B6fQ@mail.gmail.com
This commit is contained in:
parent
b431dc5c3d
commit
86e5eb4f58
19
configure
vendored
19
configure
vendored
@ -16797,19 +16797,6 @@ esac
|
|||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
ac_fn_c_check_func "$LINENO" "getrusage" "ac_cv_func_getrusage"
|
|
||||||
if test "x$ac_cv_func_getrusage" = xyes; then :
|
|
||||||
$as_echo "#define HAVE_GETRUSAGE 1" >>confdefs.h
|
|
||||||
|
|
||||||
else
|
|
||||||
case " $LIBOBJS " in
|
|
||||||
*" getrusage.$ac_objext "* ) ;;
|
|
||||||
*) LIBOBJS="$LIBOBJS getrusage.$ac_objext"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
fi
|
|
||||||
|
|
||||||
ac_fn_c_check_func "$LINENO" "inet_aton" "ac_cv_func_inet_aton"
|
ac_fn_c_check_func "$LINENO" "inet_aton" "ac_cv_func_inet_aton"
|
||||||
if test "x$ac_cv_func_inet_aton" = xyes; then :
|
if test "x$ac_cv_func_inet_aton" = xyes; then :
|
||||||
$as_echo "#define HAVE_INET_ATON 1" >>confdefs.h
|
$as_echo "#define HAVE_INET_ATON 1" >>confdefs.h
|
||||||
@ -17125,6 +17112,12 @@ esac
|
|||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
case " $LIBOBJS " in
|
||||||
|
*" getrusage.$ac_objext "* ) ;;
|
||||||
|
*) LIBOBJS="$LIBOBJS getrusage.$ac_objext"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
case " $LIBOBJS " in
|
case " $LIBOBJS " in
|
||||||
*" kill.$ac_objext "* ) ;;
|
*" kill.$ac_objext "* ) ;;
|
||||||
*) LIBOBJS="$LIBOBJS kill.$ac_objext"
|
*) LIBOBJS="$LIBOBJS kill.$ac_objext"
|
||||||
|
@ -1911,7 +1911,6 @@ AC_REPLACE_FUNCS(m4_normalize([
|
|||||||
explicit_bzero
|
explicit_bzero
|
||||||
getopt
|
getopt
|
||||||
getpeereid
|
getpeereid
|
||||||
getrusage
|
|
||||||
inet_aton
|
inet_aton
|
||||||
link
|
link
|
||||||
mkdtemp
|
mkdtemp
|
||||||
@ -1986,6 +1985,7 @@ if test "$PORTNAME" = "win32"; then
|
|||||||
AC_REPLACE_FUNCS(gettimeofday)
|
AC_REPLACE_FUNCS(gettimeofday)
|
||||||
AC_LIBOBJ(dirmod)
|
AC_LIBOBJ(dirmod)
|
||||||
AC_LIBOBJ(fdatasync)
|
AC_LIBOBJ(fdatasync)
|
||||||
|
AC_LIBOBJ(getrusage)
|
||||||
AC_LIBOBJ(kill)
|
AC_LIBOBJ(kill)
|
||||||
AC_LIBOBJ(open)
|
AC_LIBOBJ(open)
|
||||||
AC_LIBOBJ(system)
|
AC_LIBOBJ(system)
|
||||||
|
@ -32,7 +32,7 @@
|
|||||||
#include <sys/resource.h>
|
#include <sys/resource.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef HAVE_GETRUSAGE
|
#ifdef WIN32
|
||||||
#include "rusagestub.h"
|
#include "rusagestub.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -4860,7 +4860,14 @@ ShowUsage(const char *title)
|
|||||||
(long) user.tv_usec,
|
(long) user.tv_usec,
|
||||||
(long) sys.tv_sec,
|
(long) sys.tv_sec,
|
||||||
(long) sys.tv_usec);
|
(long) sys.tv_usec);
|
||||||
#if defined(HAVE_GETRUSAGE)
|
#ifndef WIN32
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The following rusage fields are not defined by POSIX, but they're
|
||||||
|
* present on all current Unix-like systems so we use them without any
|
||||||
|
* special checks. Some of these could be provided in our Windows
|
||||||
|
* emulation in src/port/getrusage.c with more work.
|
||||||
|
*/
|
||||||
appendStringInfo(&str,
|
appendStringInfo(&str,
|
||||||
"!\t%ld kB max resident size\n",
|
"!\t%ld kB max resident size\n",
|
||||||
#if defined(__darwin__)
|
#if defined(__darwin__)
|
||||||
@ -4896,7 +4903,7 @@ ShowUsage(const char *title)
|
|||||||
r.ru_nvcsw - Save_r.ru_nvcsw,
|
r.ru_nvcsw - Save_r.ru_nvcsw,
|
||||||
r.ru_nivcsw - Save_r.ru_nivcsw,
|
r.ru_nivcsw - Save_r.ru_nivcsw,
|
||||||
r.ru_nvcsw, r.ru_nivcsw);
|
r.ru_nvcsw, r.ru_nivcsw);
|
||||||
#endif /* HAVE_GETRUSAGE */
|
#endif /* !WIN32 */
|
||||||
|
|
||||||
/* remove trailing newline */
|
/* remove trailing newline */
|
||||||
if (str.data[str.len - 1] == '\n')
|
if (str.data[str.len - 1] == '\n')
|
||||||
|
@ -250,9 +250,6 @@
|
|||||||
/* Define to 1 if you have the `getrlimit' function. */
|
/* Define to 1 if you have the `getrlimit' function. */
|
||||||
#undef HAVE_GETRLIMIT
|
#undef HAVE_GETRLIMIT
|
||||||
|
|
||||||
/* Define to 1 if you have the `getrusage' function. */
|
|
||||||
#undef HAVE_GETRUSAGE
|
|
||||||
|
|
||||||
/* Define to 1 if you have the `gettimeofday' function. */
|
/* Define to 1 if you have the `gettimeofday' function. */
|
||||||
#undef HAVE_GETTIMEOFDAY
|
#undef HAVE_GETTIMEOFDAY
|
||||||
|
|
||||||
|
@ -15,9 +15,6 @@
|
|||||||
#define RUSAGESTUB_H
|
#define RUSAGESTUB_H
|
||||||
|
|
||||||
#include <sys/time.h> /* for struct timeval */
|
#include <sys/time.h> /* for struct timeval */
|
||||||
#ifndef WIN32
|
|
||||||
#include <sys/times.h> /* for struct tms */
|
|
||||||
#endif
|
|
||||||
#include <limits.h> /* for CLK_TCK */
|
#include <limits.h> /* for CLK_TCK */
|
||||||
|
|
||||||
#define RUSAGE_SELF 0
|
#define RUSAGE_SELF 0
|
||||||
|
@ -17,19 +17,14 @@
|
|||||||
|
|
||||||
#include "rusagestub.h"
|
#include "rusagestub.h"
|
||||||
|
|
||||||
/* This code works on:
|
/*
|
||||||
* solaris_i386
|
* This code works on Windows, which is the only supported platform without a
|
||||||
* solaris_sparc
|
* native version of getrusage().
|
||||||
* win32
|
|
||||||
* which currently is all the supported platforms that don't have a
|
|
||||||
* native version of getrusage(). So, if configure decides to compile
|
|
||||||
* this file at all, we just use this version unconditionally.
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int
|
int
|
||||||
getrusage(int who, struct rusage *rusage)
|
getrusage(int who, struct rusage *rusage)
|
||||||
{
|
{
|
||||||
#ifdef WIN32
|
|
||||||
FILETIME starttime;
|
FILETIME starttime;
|
||||||
FILETIME exittime;
|
FILETIME exittime;
|
||||||
FILETIME kerneltime;
|
FILETIME kerneltime;
|
||||||
@ -66,44 +61,6 @@ getrusage(int who, struct rusage *rusage)
|
|||||||
li.QuadPart /= 10L; /* Convert to microseconds */
|
li.QuadPart /= 10L; /* Convert to microseconds */
|
||||||
rusage->ru_utime.tv_sec = li.QuadPart / 1000000L;
|
rusage->ru_utime.tv_sec = li.QuadPart / 1000000L;
|
||||||
rusage->ru_utime.tv_usec = li.QuadPart % 1000000L;
|
rusage->ru_utime.tv_usec = li.QuadPart % 1000000L;
|
||||||
#else /* all but WIN32 */
|
|
||||||
|
|
||||||
struct tms tms;
|
|
||||||
int tick_rate = CLK_TCK; /* ticks per second */
|
|
||||||
clock_t u,
|
|
||||||
s;
|
|
||||||
|
|
||||||
if (rusage == (struct rusage *) NULL)
|
|
||||||
{
|
|
||||||
errno = EFAULT;
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
if (times(&tms) < 0)
|
|
||||||
{
|
|
||||||
/* errno set by times */
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
switch (who)
|
|
||||||
{
|
|
||||||
case RUSAGE_SELF:
|
|
||||||
u = tms.tms_utime;
|
|
||||||
s = tms.tms_stime;
|
|
||||||
break;
|
|
||||||
case RUSAGE_CHILDREN:
|
|
||||||
u = tms.tms_cutime;
|
|
||||||
s = tms.tms_cstime;
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
errno = EINVAL;
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
#define TICK_TO_SEC(T, RATE) ((T)/(RATE))
|
|
||||||
#define TICK_TO_USEC(T,RATE) (((T)%(RATE)*1000000)/RATE)
|
|
||||||
rusage->ru_utime.tv_sec = TICK_TO_SEC(u, tick_rate);
|
|
||||||
rusage->ru_utime.tv_usec = TICK_TO_USEC(u, tick_rate);
|
|
||||||
rusage->ru_stime.tv_sec = TICK_TO_SEC(s, tick_rate);
|
|
||||||
rusage->ru_stime.tv_usec = TICK_TO_USEC(u, tick_rate);
|
|
||||||
#endif /* WIN32 */
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -277,7 +277,6 @@ sub GenerateFiles
|
|||||||
HAVE_GETPEERUCRED => undef,
|
HAVE_GETPEERUCRED => undef,
|
||||||
HAVE_GETPWUID_R => undef,
|
HAVE_GETPWUID_R => undef,
|
||||||
HAVE_GETRLIMIT => undef,
|
HAVE_GETRLIMIT => undef,
|
||||||
HAVE_GETRUSAGE => undef,
|
|
||||||
HAVE_GETTIMEOFDAY => undef,
|
HAVE_GETTIMEOFDAY => undef,
|
||||||
HAVE_GSSAPI_GSSAPI_H => undef,
|
HAVE_GSSAPI_GSSAPI_H => undef,
|
||||||
HAVE_GSSAPI_H => undef,
|
HAVE_GSSAPI_H => undef,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user