Consolidated patch of previously merged CYGWIN support
The combined results of merge request #49 without that overhead plus distortion in this repository's history. Prototyped-by: Wayne Porter <wporter82@gmail.com>
This commit is contained in:
parent
854e2c5528
commit
53e101452f
1
.gitignore
vendored
1
.gitignore
vendored
@ -62,3 +62,4 @@ watch
|
|||||||
*~
|
*~
|
||||||
*.log
|
*.log
|
||||||
*.sum
|
*.sum
|
||||||
|
*.exe
|
||||||
|
104
Makefile.am
104
Makefile.am
@ -1,6 +1,7 @@
|
|||||||
CYGWINFLAGS =
|
CYGWINFLAGS =
|
||||||
if CYGWIN
|
if CYGWIN
|
||||||
CYGWINFLAGS += -lintl
|
CYGWINFLAGS += -lintl
|
||||||
|
usrbin_exec_PROGRAMS =
|
||||||
endif
|
endif
|
||||||
|
|
||||||
AM_CPPFLAGS = \
|
AM_CPPFLAGS = \
|
||||||
@ -21,8 +22,21 @@ SUBDIRS = \
|
|||||||
AM_CFLAGS = -Iproc
|
AM_CFLAGS = -Iproc
|
||||||
LDADD = ./proc/libprocps.la $(CYGWINFLAGS)
|
LDADD = ./proc/libprocps.la $(CYGWINFLAGS)
|
||||||
|
|
||||||
transform = s/pscommand/ps/; $(program_transform_name)
|
if CYGWIN
|
||||||
|
AM_LDFLAGS = ./proc/libprocps.la $(CYGWINFLAGS)
|
||||||
|
endif
|
||||||
|
|
||||||
|
transform =
|
||||||
|
|
||||||
|
if !CYGWIN
|
||||||
|
transform += s/pscommand/ps/; $(program_transform_name)
|
||||||
|
sbin_PROGRAMS = \
|
||||||
|
sysctl
|
||||||
|
else
|
||||||
|
transform += s/pscommand/procps/; $(program_transform_name)
|
||||||
|
endif
|
||||||
|
|
||||||
|
if !CYGWIN
|
||||||
bin_PROGRAMS = \
|
bin_PROGRAMS = \
|
||||||
ps/pscommand \
|
ps/pscommand \
|
||||||
free \
|
free \
|
||||||
@ -34,9 +48,17 @@ bin_PROGRAMS = \
|
|||||||
uptime \
|
uptime \
|
||||||
vmstat \
|
vmstat \
|
||||||
w
|
w
|
||||||
|
else
|
||||||
sbin_PROGRAMS = \
|
usrbin_exec_PROGRAMS += \
|
||||||
sysctl
|
ps/pscommand \
|
||||||
|
free \
|
||||||
|
pgrep \
|
||||||
|
pkill \
|
||||||
|
pmap \
|
||||||
|
uptime \
|
||||||
|
vmstat \
|
||||||
|
w
|
||||||
|
endif
|
||||||
|
|
||||||
lib_LTLIBRARIES = \
|
lib_LTLIBRARIES = \
|
||||||
proc/libprocps.la
|
proc/libprocps.la
|
||||||
@ -46,14 +68,19 @@ dist_man_MANS = \
|
|||||||
pgrep.1 \
|
pgrep.1 \
|
||||||
pkill.1 \
|
pkill.1 \
|
||||||
pmap.1 \
|
pmap.1 \
|
||||||
pwdx.1 \
|
|
||||||
sysctl.8 \
|
|
||||||
sysctl.conf.5 \
|
|
||||||
tload.1 \
|
|
||||||
uptime.1 \
|
uptime.1 \
|
||||||
vmstat.8 \
|
vmstat.8 \
|
||||||
w.1 \
|
w.1 \
|
||||||
|
ps/procps.1
|
||||||
|
|
||||||
|
if !CYGWIN
|
||||||
|
dist_man_MANS += \
|
||||||
|
pwdx.1 \
|
||||||
|
tload.1 \
|
||||||
|
sysctl.8 \
|
||||||
|
sysctl.conf.5 \
|
||||||
ps/ps.1
|
ps/ps.1
|
||||||
|
endif
|
||||||
|
|
||||||
EXTRA_DIST = \
|
EXTRA_DIST = \
|
||||||
.version \
|
.version \
|
||||||
@ -63,7 +90,6 @@ EXTRA_DIST = \
|
|||||||
misc/git-version-gen \
|
misc/git-version-gen \
|
||||||
Documentation/CodingStyle.md \
|
Documentation/CodingStyle.md \
|
||||||
Documentation/TODO \
|
Documentation/TODO \
|
||||||
sysctl.conf \
|
|
||||||
ps/HACKING \
|
ps/HACKING \
|
||||||
ps/regression \
|
ps/regression \
|
||||||
$(DIST_MAN_POTS)
|
$(DIST_MAN_POTS)
|
||||||
@ -73,8 +99,17 @@ dist_procpsng_DATA = \
|
|||||||
Documentation/bugs.md \
|
Documentation/bugs.md \
|
||||||
Documentation/FAQ
|
Documentation/FAQ
|
||||||
|
|
||||||
|
if !CYGWIN
|
||||||
|
EXTRA_DIST += \
|
||||||
|
sysctl.conf
|
||||||
|
endif
|
||||||
|
|
||||||
if BUILD_PIDOF
|
if BUILD_PIDOF
|
||||||
|
if !CYGWIN
|
||||||
bin_PROGRAMS += pidof
|
bin_PROGRAMS += pidof
|
||||||
|
else
|
||||||
|
usrbin_exec_PROGRAMS += pidof
|
||||||
|
endif
|
||||||
dist_man_MANS += pidof.1
|
dist_man_MANS += pidof.1
|
||||||
pidof_SOURCES = pidof.c lib/fileutils.c
|
pidof_SOURCES = pidof.c lib/fileutils.c
|
||||||
else
|
else
|
||||||
@ -82,7 +117,13 @@ else
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
if BUILD_KILL
|
if BUILD_KILL
|
||||||
|
if CYGWIN
|
||||||
|
transform += ;s/^kill/prockill/; $(program_transform_name)
|
||||||
|
usrbin_exec_PROGRAMS += kill
|
||||||
|
else
|
||||||
bin_PROGRAMS += kill
|
bin_PROGRAMS += kill
|
||||||
|
endif
|
||||||
|
|
||||||
dist_man_MANS += kill.1
|
dist_man_MANS += kill.1
|
||||||
kill_SOURCES = skill.c lib/strutils.c lib/fileutils.c lib/nsutils.c
|
kill_SOURCES = skill.c lib/strutils.c lib/fileutils.c lib/nsutils.c
|
||||||
else
|
else
|
||||||
@ -90,16 +131,20 @@ else
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
if WITH_NCURSES
|
if WITH_NCURSES
|
||||||
|
if !CYGWIN
|
||||||
bin_PROGRAMS += \
|
bin_PROGRAMS += \
|
||||||
slabtop \
|
slabtop \
|
||||||
watch \
|
watch \
|
||||||
top/top
|
top/top
|
||||||
|
else
|
||||||
|
usrbin_exec_PROGRAMS += \
|
||||||
|
watch \
|
||||||
|
top/top
|
||||||
|
endif
|
||||||
|
|
||||||
dist_man_MANS += \
|
dist_man_MANS += \
|
||||||
slabtop.1 \
|
|
||||||
watch.1 \
|
watch.1 \
|
||||||
top/top.1
|
top/top.1
|
||||||
slabtop_SOURCES = slabtop.c lib/strutils.c lib/fileutils.c
|
|
||||||
slabtop_LDADD = $(LDADD) @NCURSES_LIBS@
|
|
||||||
watch_SOURCES = watch.c lib/strutils.c lib/fileutils.c
|
watch_SOURCES = watch.c lib/strutils.c lib/fileutils.c
|
||||||
watch_LDADD = @WATCH_NCURSES_LIBS@ $(CYGWINFLAGS)
|
watch_LDADD = @WATCH_NCURSES_LIBS@ $(CYGWINFLAGS)
|
||||||
watch_CFLAGS = @WATCH_NCURSES_CFLAGS@
|
watch_CFLAGS = @WATCH_NCURSES_CFLAGS@
|
||||||
@ -109,17 +154,29 @@ top_top_SOURCES = \
|
|||||||
top/top_nls.h \
|
top/top_nls.h \
|
||||||
top/top_nls.c \
|
top/top_nls.c \
|
||||||
lib/fileutils.c
|
lib/fileutils.c
|
||||||
|
|
||||||
if CYGWIN
|
if CYGWIN
|
||||||
top_top_SOURCES += lib/strverscmp.c
|
top_top_SOURCES += lib/strverscmp.c
|
||||||
|
else
|
||||||
|
dist_man_MANS += \
|
||||||
|
slabtop.1
|
||||||
|
slabtop_SOURCES = slabtop.c lib/strutils.c lib/fileutils.c
|
||||||
|
slabtop_LDADD = $(LDADD) @NCURSES_LIBS@
|
||||||
endif
|
endif
|
||||||
|
|
||||||
top_top_LDADD = $(LDADD) @NCURSES_LIBS@ $(DL_LIB)
|
top_top_LDADD = $(LDADD) @NCURSES_LIBS@ $(DL_LIB)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if BUILD_SKILL
|
if BUILD_SKILL
|
||||||
|
if !CYGWIN
|
||||||
bin_PROGRAMS += \
|
bin_PROGRAMS += \
|
||||||
skill \
|
skill \
|
||||||
snice
|
snice
|
||||||
|
else
|
||||||
|
usrbin_exec_PROGRAMS += \
|
||||||
|
skill \
|
||||||
|
snice
|
||||||
|
endif
|
||||||
skill_SOURCES = skill.c lib/strutils.c lib/fileutils.c lib/nsutils.c
|
skill_SOURCES = skill.c lib/strutils.c lib/fileutils.c lib/nsutils.c
|
||||||
snice_SOURCES = skill.c lib/strutils.c lib/fileutils.c lib/nsutils.c
|
snice_SOURCES = skill.c lib/strutils.c lib/fileutils.c lib/nsutils.c
|
||||||
dist_man_MANS += \
|
dist_man_MANS += \
|
||||||
@ -135,9 +192,11 @@ free_SOURCES = free.c lib/strutils.c lib/fileutils.c
|
|||||||
pgrep_SOURCES = pgrep.c lib/fileutils.c lib/nsutils.c
|
pgrep_SOURCES = pgrep.c lib/fileutils.c lib/nsutils.c
|
||||||
pkill_SOURCES = pgrep.c lib/fileutils.c lib/nsutils.c
|
pkill_SOURCES = pgrep.c lib/fileutils.c lib/nsutils.c
|
||||||
pmap_SOURCES = pmap.c lib/fileutils.c
|
pmap_SOURCES = pmap.c lib/fileutils.c
|
||||||
|
if !CYGWIN
|
||||||
pwdx_SOURCES = pwdx.c lib/fileutils.c
|
pwdx_SOURCES = pwdx.c lib/fileutils.c
|
||||||
pwdx_LDADD= $(CYGWINFLAGS)
|
pwdx_LDADD= $(CYGWINFLAGS)
|
||||||
sysctl_SOURCES = sysctl.c lib/fileutils.c
|
sysctl_SOURCES = sysctl.c lib/fileutils.c
|
||||||
|
endif
|
||||||
tload_SOURCES = tload.c lib/strutils.c lib/fileutils.c
|
tload_SOURCES = tload.c lib/strutils.c lib/fileutils.c
|
||||||
uptime_SOURCES = uptime.c lib/fileutils.c
|
uptime_SOURCES = uptime.c lib/fileutils.c
|
||||||
vmstat_SOURCES = vmstat.c lib/strutils.c lib/fileutils.c
|
vmstat_SOURCES = vmstat.c lib/strutils.c lib/fileutils.c
|
||||||
@ -254,9 +313,26 @@ lib_test_process_LDADD = $(CYGWINFLAGS)
|
|||||||
lib_test_strtod_nol_SOURCES = lib/test_strtod_nol.c lib/strutils.c
|
lib_test_strtod_nol_SOURCES = lib/test_strtod_nol.c lib/strutils.c
|
||||||
lib_test_strtod_nol_LDADD = $(CYGWINFLAGS)
|
lib_test_strtod_nol_LDADD = $(CYGWINFLAGS)
|
||||||
|
|
||||||
|
if CYGWIN
|
||||||
|
skill_LDADD = $(CYGWINFLAGS)
|
||||||
|
kill_LDADD = $(CYGWINFLAGS)
|
||||||
|
free_LDADD = $(CYGWINFLAGS)
|
||||||
|
pgrep_LDADD = $(CYGWINFLAGS)
|
||||||
|
pkill_LDADD = $(CYGWINFLAGS)
|
||||||
|
pidof_LDADD = $(CYGWINFLAGS)
|
||||||
|
pmap_LDADD = $(CYGWINFLAGS)
|
||||||
|
snice_LDADD = $(CYGWINFLAGS)
|
||||||
|
tload_LDADD = $(CYGWINFLAGS)
|
||||||
|
uptime_LDADD = $(CYGWINFLAGS)
|
||||||
|
w_LDADD = $(CYGWINFLAGS)
|
||||||
|
vmstat_LDADD = $(CYGWINFLAGS)
|
||||||
|
endif
|
||||||
|
|
||||||
if EXAMPLE_FILES
|
if EXAMPLE_FILES
|
||||||
|
if !CYGWIN
|
||||||
sysconf_DATA = sysctl.conf
|
sysconf_DATA = sysctl.conf
|
||||||
endif
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
BUILT_SOURCES = $(top_srcdir)/.version
|
BUILT_SOURCES = $(top_srcdir)/.version
|
||||||
|
|
||||||
|
21
configure.ac
21
configure.ac
@ -69,6 +69,27 @@ AC_FUNC_MMAP
|
|||||||
AC_FUNC_REALLOC
|
AC_FUNC_REALLOC
|
||||||
AC_FUNC_STRTOD
|
AC_FUNC_STRTOD
|
||||||
|
|
||||||
|
usrbin_execdir='${exec_prefix}/bin'
|
||||||
|
AC_SUBST([usrbin_execdir])
|
||||||
|
|
||||||
|
if test "x$host_os" = xcygwin
|
||||||
|
then
|
||||||
|
prefix=/usr
|
||||||
|
sysconfdir=/etc
|
||||||
|
libexecdir=/usr/lib
|
||||||
|
localstatedir=/var
|
||||||
|
datadir=/usr/share
|
||||||
|
mandir=/usr/share/man
|
||||||
|
infodir=/usr/share/info
|
||||||
|
AC_SUBST([prefix])
|
||||||
|
AC_SUBST([sysconfdir])
|
||||||
|
AC_SUBST([libexecdir])
|
||||||
|
AC_SUBST([localstatedir])
|
||||||
|
AC_SUBST([datadir])
|
||||||
|
AC_SUBST([mandir])
|
||||||
|
AC_SUBST([infodir])
|
||||||
|
fi
|
||||||
|
|
||||||
AM_GNU_GETTEXT_VERSION([0.14.1])
|
AM_GNU_GETTEXT_VERSION([0.14.1])
|
||||||
AM_GNU_GETTEXT([external])
|
AM_GNU_GETTEXT([external])
|
||||||
if test -d "$srcdir/po"
|
if test -d "$srcdir/po"
|
||||||
|
@ -203,15 +203,25 @@ int main(int argc, char *argv[]){
|
|||||||
/* Try to guess the device name (useful until /proc/PID/tty is added) */
|
/* Try to guess the device name (useful until /proc/PID/tty is added) */
|
||||||
static int guess_name(char *restrict const buf, unsigned maj, unsigned min){
|
static int guess_name(char *restrict const buf, unsigned maj, unsigned min){
|
||||||
struct stat sbuf;
|
struct stat sbuf;
|
||||||
|
#ifndef __CYGWIN__
|
||||||
int t0, t1;
|
int t0, t1;
|
||||||
|
#endif
|
||||||
unsigned tmpmin = min;
|
unsigned tmpmin = min;
|
||||||
|
|
||||||
switch(maj){
|
switch(maj){
|
||||||
case 3: /* /dev/[pt]ty[p-za-o][0-9a-z] is 936 */
|
case 3: /* /dev/[pt]ty[p-za-o][0-9a-z] is 936 */
|
||||||
if(tmpmin > 255) return 0; // should never happen; array index protection
|
if(tmpmin > 255) return 0; // should never happen; array index protection
|
||||||
|
#ifdef __CYGWIN__
|
||||||
|
sprintf(buf, "dev/cons%d", tmpmin);
|
||||||
|
/* Skip stat call. The reason is that cons devices are local to
|
||||||
|
the processes running in that console. Calling stat from another
|
||||||
|
console or pty will return -1. */
|
||||||
|
return 1;
|
||||||
|
#else
|
||||||
t0 = "pqrstuvwxyzabcde"[tmpmin>>4];
|
t0 = "pqrstuvwxyzabcde"[tmpmin>>4];
|
||||||
t1 = "0123456789abcdef"[tmpmin&0x0f];
|
t1 = "0123456789abcdef"[tmpmin&0x0f];
|
||||||
sprintf(buf, "/dev/tty%c%c", t0, t1);
|
sprintf(buf, "/dev/tty%c%c", t0, t1);
|
||||||
|
#endif
|
||||||
break;
|
break;
|
||||||
case 4:
|
case 4:
|
||||||
if(min<64){
|
if(min<64){
|
||||||
@ -236,8 +246,12 @@ static int guess_name(char *restrict const buf, unsigned maj, unsigned min){
|
|||||||
case 78: sprintf(buf, "/dev/ttyM%d", min); break; /* conflict */
|
case 78: sprintf(buf, "/dev/ttyM%d", min); break; /* conflict */
|
||||||
case 105: sprintf(buf, "/dev/ttyV%d", min); break;
|
case 105: sprintf(buf, "/dev/ttyV%d", min); break;
|
||||||
case 112: sprintf(buf, "/dev/ttyM%d", min); break; /* conflict */
|
case 112: sprintf(buf, "/dev/ttyM%d", min); break; /* conflict */
|
||||||
|
#ifdef __CYGWIN__
|
||||||
|
case 136: sprintf(buf, "/dev/pty%d", min); break;
|
||||||
|
#else
|
||||||
/* 136 ... 143 are /dev/pts/0, /dev/pts/1, /dev/pts/2 ... */
|
/* 136 ... 143 are /dev/pts/0, /dev/pts/1, /dev/pts/2 ... */
|
||||||
case 136 ... 143: sprintf(buf, "/dev/pts/%d", min+(maj-136)*256); break;
|
case 136 ... 143: sprintf(buf, "/dev/pts/%d", min+(maj-136)*256); break;
|
||||||
|
#endif
|
||||||
case 148: sprintf(buf, "/dev/ttyT%d", min); break;
|
case 148: sprintf(buf, "/dev/ttyT%d", min); break;
|
||||||
case 154: sprintf(buf, "/dev/ttySR%d", min); break;
|
case 154: sprintf(buf, "/dev/ttySR%d", min); break;
|
||||||
case 156: sprintf(buf, "/dev/ttySR%d", min+256); break;
|
case 156: sprintf(buf, "/dev/ttySR%d", min+256); break;
|
||||||
@ -285,6 +299,30 @@ static int link_name(char *restrict const buf, unsigned maj, unsigned min, int p
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef __CYGWIN__
|
||||||
|
/* Cygwin keeps the name to the controlling tty in a virtual file called
|
||||||
|
/proc/PID/ctty, including a trailing LF (sigh). */
|
||||||
|
static int ctty_name(char *restrict const buf, int pid) {
|
||||||
|
char path[32];
|
||||||
|
FILE *fp;
|
||||||
|
char *lf;
|
||||||
|
sprintf (path, "/proc/%d/ctty", pid); /* often permission denied */
|
||||||
|
fp = fopen (path, "r");
|
||||||
|
if (!fp)
|
||||||
|
return 0;
|
||||||
|
if (!fgets (buf,TTY_NAME_SIZE,fp))
|
||||||
|
{
|
||||||
|
fclose (fp);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
fclose (fp);
|
||||||
|
lf = strchr (buf, '\n');
|
||||||
|
if (lf)
|
||||||
|
*lf = (lf == buf ? '?' : '\0');
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/* number --> name */
|
/* number --> name */
|
||||||
unsigned dev_to_tty(char *restrict ret, unsigned chop, dev_t dev_t_dev, int pid, unsigned int flags) {
|
unsigned dev_to_tty(char *restrict ret, unsigned chop, dev_t dev_t_dev, int pid, unsigned int flags) {
|
||||||
static char buf[TTY_NAME_SIZE];
|
static char buf[TTY_NAME_SIZE];
|
||||||
@ -293,6 +331,9 @@ unsigned dev_to_tty(char *restrict ret, unsigned chop, dev_t dev_t_dev, int pid,
|
|||||||
unsigned i = 0;
|
unsigned i = 0;
|
||||||
int c;
|
int c;
|
||||||
if(dev == 0u) goto no_tty;
|
if(dev == 0u) goto no_tty;
|
||||||
|
#ifdef __CYGWIN__
|
||||||
|
if( ctty_name(tmp, pid )) goto abbrev;
|
||||||
|
#endif
|
||||||
if(driver_name(tmp, MAJOR_OF(dev), MINOR_OF(dev) )) goto abbrev;
|
if(driver_name(tmp, MAJOR_OF(dev), MINOR_OF(dev) )) goto abbrev;
|
||||||
if( link_name(tmp, MAJOR_OF(dev), MINOR_OF(dev), pid, "fd/2" )) goto abbrev;
|
if( link_name(tmp, MAJOR_OF(dev), MINOR_OF(dev), pid, "fd/2" )) goto abbrev;
|
||||||
if( guess_name(tmp, MAJOR_OF(dev), MINOR_OF(dev) )) goto abbrev;
|
if( guess_name(tmp, MAJOR_OF(dev), MINOR_OF(dev) )) goto abbrev;
|
||||||
|
@ -81,7 +81,7 @@
|
|||||||
// Like HIDDEN, but for an alias that gets created.
|
// Like HIDDEN, but for an alias that gets created.
|
||||||
// In gcc-3.2 there is an alias+hidden conflict.
|
// In gcc-3.2 there is an alias+hidden conflict.
|
||||||
// Many will have patched this bug, but oh well.
|
// Many will have patched this bug, but oh well.
|
||||||
#if ( __GNUC__ == 3 && __GNUC_MINOR__ > 2 ) || __GNUC__ > 3
|
#if (( __GNUC__ == 3 && __GNUC_MINOR__ > 2 ) || __GNUC__ > 3) && !defined(__CYGWIN__)
|
||||||
#define HIDDEN_ALIAS(x) extern __typeof(x) x##_direct __attribute__((alias(#x),visibility("hidden")))
|
#define HIDDEN_ALIAS(x) extern __typeof(x) x##_direct __attribute__((alias(#x),visibility("hidden")))
|
||||||
#else
|
#else
|
||||||
#define HIDDEN_ALIAS(x) extern __typeof(x) x##_direct __attribute__((alias(#x)))
|
#define HIDDEN_ALIAS(x) extern __typeof(x) x##_direct __attribute__((alias(#x)))
|
||||||
|
@ -28,6 +28,9 @@
|
|||||||
|
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
|
#ifdef __CYGWIN__
|
||||||
|
#include <sys/param.h>
|
||||||
|
#endif
|
||||||
#include "alloc.h"
|
#include "alloc.h"
|
||||||
#include "version.h"
|
#include "version.h"
|
||||||
#include "sysinfo.h" /* include self to verify prototypes */
|
#include "sysinfo.h" /* include self to verify prototypes */
|
||||||
@ -36,7 +39,9 @@
|
|||||||
#include <netinet/in.h> /* htons */
|
#include <netinet/in.h> /* htons */
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef __CYGWIN__
|
||||||
#include <link.h>
|
#include <link.h>
|
||||||
|
#endif
|
||||||
#include <elf.h>
|
#include <elf.h>
|
||||||
|
|
||||||
long smp_num_cpus; /* number of CPUs */
|
long smp_num_cpus; /* number of CPUs */
|
||||||
@ -91,7 +96,9 @@ static char buf[8192];
|
|||||||
#define SET_IF_DESIRED(x,y) do{ if(x) *(x) = (y); }while(0)
|
#define SET_IF_DESIRED(x,y) do{ if(x) *(x) = (y); }while(0)
|
||||||
|
|
||||||
/* return minimum of two values */
|
/* return minimum of two values */
|
||||||
|
#ifndef __CYGWIN__
|
||||||
#define MIN(x,y) ((x) < (y) ? (x) : (y))
|
#define MIN(x,y) ((x) < (y) ? (x) : (y))
|
||||||
|
#endif
|
||||||
|
|
||||||
/***********************************************************************/
|
/***********************************************************************/
|
||||||
int uptime(double *restrict uptime_secs, double *restrict idle_secs) {
|
int uptime(double *restrict uptime_secs, double *restrict idle_secs) {
|
||||||
@ -224,6 +231,7 @@ static void old_Hertz_hack(void){
|
|||||||
case 247 ... 252 : Hertz = 250; break;
|
case 247 ... 252 : Hertz = 250; break;
|
||||||
case 253 ... 260 : Hertz = 256; break;
|
case 253 ... 260 : Hertz = 256; break;
|
||||||
case 393 ... 408 : Hertz = 400; break; /* normal << 2 */
|
case 393 ... 408 : Hertz = 400; break; /* normal << 2 */
|
||||||
|
case 410 ... 600 : Hertz = 500; break; /* SMP WinNT */
|
||||||
case 790 ... 808 : Hertz = 800; break; /* normal << 3 */
|
case 790 ... 808 : Hertz = 800; break; /* normal << 3 */
|
||||||
case 990 ... 1010 : Hertz = 1000; break; /* ARM */
|
case 990 ... 1010 : Hertz = 1000; break; /* ARM */
|
||||||
case 1015 ... 1035 : Hertz = 1024; break; /* Alpha, ia64 */
|
case 1015 ... 1035 : Hertz = 1024; break; /* Alpha, ia64 */
|
||||||
@ -254,6 +262,9 @@ extern char** environ;
|
|||||||
|
|
||||||
static unsigned long find_elf_note(unsigned long type)
|
static unsigned long find_elf_note(unsigned long type)
|
||||||
{
|
{
|
||||||
|
#ifdef __CYGWIN__
|
||||||
|
return NOTE_NOT_FOUND;
|
||||||
|
#else
|
||||||
ElfW(auxv_t) auxv_struct;
|
ElfW(auxv_t) auxv_struct;
|
||||||
ElfW(auxv_t) *auxv_temp;
|
ElfW(auxv_t) *auxv_temp;
|
||||||
FILE *fd;
|
FILE *fd;
|
||||||
@ -313,6 +324,7 @@ static unsigned long find_elf_note(unsigned long type)
|
|||||||
auxv = NULL;
|
auxv = NULL;
|
||||||
}
|
}
|
||||||
return ret_val;
|
return ret_val;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
int have_privs;
|
int have_privs;
|
||||||
@ -350,6 +362,11 @@ static void init_libproc(void){
|
|||||||
Hertz = 100;
|
Hertz = 100;
|
||||||
return;
|
return;
|
||||||
#endif /* __FreeBSD__ */
|
#endif /* __FreeBSD__ */
|
||||||
|
#ifdef __CYGWIN__
|
||||||
|
// On Cygwin we can rely on the HZ value given in sys/param.h
|
||||||
|
Hertz = (unsigned long long)HZ; /* <sys/param.h> */
|
||||||
|
return;
|
||||||
|
#endif
|
||||||
old_Hertz_hack();
|
old_Hertz_hack();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
1
ps/procps.1
Symbolic link
1
ps/procps.1
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
ps.1
|
5
skill.c
5
skill.c
@ -743,6 +743,11 @@ int main(int argc, char ** argv)
|
|||||||
else if (strcmp(program_invocation_short_name, "snice") == 0 ||
|
else if (strcmp(program_invocation_short_name, "snice") == 0 ||
|
||||||
strcmp(program_invocation_short_name, "lt-snice") == 0)
|
strcmp(program_invocation_short_name, "lt-snice") == 0)
|
||||||
program = PROG_SNICE;
|
program = PROG_SNICE;
|
||||||
|
#ifdef __CYGWIN__
|
||||||
|
else if (strcmp(program_invocation_short_name, "prockill") == 0 ||
|
||||||
|
strcmp(program_invocation_short_name, "lt-prockill") == 0)
|
||||||
|
program = PROG_KILL;
|
||||||
|
#endif
|
||||||
|
|
||||||
switch (program) {
|
switch (program) {
|
||||||
case PROG_SNICE:
|
case PROG_SNICE:
|
||||||
|
@ -13,9 +13,12 @@ if LINUX
|
|||||||
# temporarily disabled on other than linux systems, see commit
|
# temporarily disabled on other than linux systems, see commit
|
||||||
# 3d807ae853b8b4264da156065b34f1447658a8ba
|
# 3d807ae853b8b4264da156065b34f1447658a8ba
|
||||||
DEJATOOL += \
|
DEJATOOL += \
|
||||||
pmap \
|
pmap
|
||||||
|
if !CYGWIN
|
||||||
|
DEJATOOL += \
|
||||||
slabtop \
|
slabtop \
|
||||||
sysctl
|
sysctl
|
||||||
|
endif
|
||||||
|
|
||||||
if BUILD_KILL
|
if BUILD_KILL
|
||||||
DEJATOOL += kill
|
DEJATOOL += kill
|
||||||
@ -34,7 +37,7 @@ DEJATOOL += \
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
EXTRA_DIST = \
|
EXTRA_DIST = \
|
||||||
config/unix.exp \
|
config/unix.exp \
|
||||||
free.test/free.exp \
|
free.test/free.exp \
|
||||||
kill.test/kill.exp \
|
kill.test/kill.exp \
|
||||||
lib.test/fileutils.exp \
|
lib.test/fileutils.exp \
|
||||||
@ -48,8 +51,11 @@ EXTRA_DIST = \
|
|||||||
ps.test/ps_personality.exp \
|
ps.test/ps_personality.exp \
|
||||||
ps.test/ps_sched_batch.exp \
|
ps.test/ps_sched_batch.exp \
|
||||||
pwdx.test/pwdx.exp \
|
pwdx.test/pwdx.exp \
|
||||||
slabtop.test/slabtop.exp \
|
|
||||||
sysctl.test/sysctl_read.exp \
|
|
||||||
uptime.test/uptime.exp \
|
uptime.test/uptime.exp \
|
||||||
vmstat.test/vmstat.exp \
|
vmstat.test/vmstat.exp \
|
||||||
w.test/w.exp
|
w.test/w.exp
|
||||||
|
if !CYGWIN
|
||||||
|
EXTRA_DIST += \
|
||||||
|
slabtop.test/slabtop.exp \
|
||||||
|
sysctl.test/sysctl_read.exp
|
||||||
|
endif
|
||||||
|
Loading…
Reference in New Issue
Block a user