Revision history for Perl extension Proc::ProcessTable.

0.01  Mon Jun  8 11:37:47 1998
  - original version; created by h2xs 1.18

0.03  Sun Jul 26 09:07:50 1998
  - added argument to va_end to make linux-ppc work

0.04  Fri Aug 14 22:51:31 1998
  - preliminary pre-alpha solaris support

0.05  Wed Dec  9 18:47:39 1998
  - fixed minor compilation problems for solaris. Changed rss to
  bytes on linux for consistency with solaris; also added "time"
  and "ctime" fields to linux for consistency. Updated
  documentation in Folded in AIX port by David
  Paquet <>.

0.06  Wed Dec  9 23:42:05 1998
  - added HPUX port by Mike Romberg <>.

0.07  Wed Jan  6 14:57:04 1999
  - added FreeBSD port by Slaven Rezic <>.

0.08  Thu Feb  4 00:35:53 1999
  - Fixed bug in solaris hints file that was looking for a
  version of solaris returned by "uname -r" as > 2.5, when
  "uname -r" returns the "SunOS" version of 5.5. Fixed bug in
  linux module in which only the first field of the command line
  was getting passed in cmndline attribute.

0.09   Fri Feb 19 23:23:53 1999
  - Fixed bug in Linux.c, fopen() called without corresponding
  fclose. Added empty DESTROY subs to and to fix occasional problems with mod_perl. Changed
  all instances of sv_undef in ProcessTable.xs to PL_sv_undef to
  comply with new standard.

0.10  Sat Feb 20 11:29:35 1999
  - Added code to ProcessTable.xs to check perl patchlevel
  version and use either PL_sv_undef or sv_undef since lots of
  people are still using older versions of perl.

0.11  Sat Mar  6 19:04:39 1999
  - Fixed code that checked perl patchlevel version to check
  directly for definition of PL_sv_undef and define it as
  sv_undef if it's not there, since it's not clear what
  patchlevel we need to check for. Also fixed embarrassing and
  unnecessary call to close() a string in Solaris.c

0.12  Sun Mar 21 10:53:56 1999
  - Hopefully the final fix for the sv_undef buglet.

0.14  Fri May 14 06:30:15 1999
  - Added port for IRIX from W. Phillip Moore <> in
  0.13, but forgot to add files to MANIFEST and edit Changes
  (Duh). W. Phillip Moore's port also included a minor patch for
  Solaris to get the page size from the system.

0.15  Tue Jun  1 21:33:16 1999
  - Added patch from Peter ? <>
  for IRIX version differences. There seems to be a lot of IRIX
  out there.

0.16  Mon Aug  9 22:59:46 1999
  - Added nanosecond Solaris patch from Rolf Petter Halle
  <>. Added port for dec_osf from Bernhard
  Schmalhofer <>, which included new
  version of test code as well. Added bsdi port from Sean Eskins

0.17  Thu Aug 19 10:57:16 1999
  - Lost connection to ISP during upload to PAUSE, and PAUSE
  won't let me reload it so I have to increment the version
  number. Kind of annoying.

0.18  Thu Aug 19 10:57:16 1999
  - Fixed bug (at least for linux) in Makefile.PL that was
  causing ProcessTable.xs not to be converted to ProcessTable.c;
  this was carelessly introduced by me with integration of the
  port to dec_osf. Added port for netbsd from Peter Reich

0.19  Mon Aug 30 00:22:02 1999
  - Reinstated 'OBJECT' argument in WriteMakefile in Makefile.PL
  since it was breaking the build on dec-osf, but this time with
  explicit object files to look for which seems to work, at
  least under Linux. Why this should be necessary is
  unclear. Added "fname" field to HPUX (was "cmd") for
  consistency with other ports and for new test. Added very
  basic "README.hpux". Added check in to prune
  search tree for unreadable directories when finding TTY list;
  this was causing spurious errors during build on dec_osf
  since some directories under /dev are readable only by root.

0.20  Wed Sep  8 22:27:28 1999
  - Added "fields" method to module to return list of fields
  supported for the current architecture. This is implemented in
  a slightly kludgy way, since it needs to call the table method
  if the table method hasn't been called before, since only the
  table method knows the names of the fields. Also changed the
  test code to dump all the fields/values available for the
  current process table, instead of just dumping pids and
  "fname" which isn't supported on all architectures (though it
  should be). Added "" file which contains the same

0.21  Fri Sep 10 12:32:13 1999
  - Bug fix; new "fields" method was crapping out on everything
  except Linux-Intel.

0.22  Tue Oct  5 07:47:54 1999
  - Bug fix for Solaris; nanosecond process times are only
  available on 2.6 (and above?); this was causing the module to
  dump core on earlier systems. Also, size and rss appear to be
  in kilobytes, not pages in 2.6 and above (they are in pages in
  the struct prpsinfo in < 2.6, but also available directly as

0.23  Mon Nov  1 08:32:54 1999
  - Added patch from Dave Alden <> for
  solaris "nice" and "onproc" fields.

0.24  Thu Jan 20 08:00:30 2000
  - Added patches from Noel Paul <> for dec_osf
  pctcpu and pctmem, and for IRIX for pctmem.

0.25  Thu Feb  3 11:20:27 2000
  - Added patch from F. Buirey <> for AIX SMP.

0.26  Fri Feb 11 16:43:48 2000
  - Added Proc::Killall from Aaraon Sherman <>.

0.27  Thu Jun 29 08:27:23 2000
  - Added patch for converting jiffies to microseconds in linux
  from Philip Gwyn <>. Added patch from Slaven Rezic
  <> for FreeBSD and to make Storable

0.28  Mon Aug 14 16:31:43 MYT 2000
  - Patch from Slaven Rezic <> to make
       test script -w clean.

0.29    Tue Jan  9 07:36:13 EST 2001
       - Patch from Wolfgang Friebel <> for
       os/HPUX.c to make the time method return useful values. Patch
       from Adrian Phillips <> to fix AIX cmndline
       field. Patch from Tryggvi Farestveit <> to
       fix bug in cmndline under Linux. module from
       Steve Lidie <sol0@Lehigh.EDU>.

0.30   Sun Mar  4 05:05:26 EST 2001
       - Patch from David Good <> for 32-bit
       HPUX 11.0 support via the 64-bit interface. Port to Unixware
       7.x from Martin Lucina <>. Upgraded status
       to beta :)

0.31  Fri Jun  1 08:27:03 EDT 2001
  - Removed bogus test code line from os/Linux.c that was
  opening "/tmp/tedddi".

0.32  Sun Aug 19 04:45:25 EDT 2001
  -SunOS port from Shawn Clifford <>.
  Patch from Thomas Linden <> for additional Linux
  fields. Patch for bsdi from Nicolas Belan <>
  to add cmndline.

0.33  Wed Oct 10 15:50:17 EDT 2001
  -Fixed Solaris large file environment problem (by turning off
  large file environment CCFLAGS!). Patches from Chris Adams
  <> for TTYs with device number(s) zero and
  Digital Unix table() call to read processes. Added
  README.taint for workarounds for perl -T. Changed umask for
  644 permissions for /tmp/TTYDEVS.

0.34  Sun Feb 24 21:55:07 EST 2002
  -Corrected documentation type pointed out by Marcus Crafter
  <>. Fix for JIFFIES_TO_MICROSECONDS potential
  int overflow on linux from Stephen Pillinger
  <>. Patch for File::Find routine
  on AIX (broken POSIX?) from H.Merijn Brand
  <>. Big linux code cleanup patch from
  Anthony Higa <>; I *think* this also
  fixes the linux-ppc problem reported by Marcus Crafter.

0.35  Mon Jul  1 11:24:43 EDT 2002
  -Patch from Thomas Glanzmann <>
  to fix starttime overflow bug on linux. This should also fix
  multiprocessor starttime bugs. He says there is another
  overflow after 25 days of uptime though :(
  Nearly identical patches from Doug Lewis
  <> and Jan L. Peterson
  <> to fix taint problem. Patch from Peter van
  Hooft <> to allow non-root
  users to list processes on IRIX.

0.36  Tue Nov  5 23:04:12 EST 2002
  -Patch for documentation typo for from Mike Castle
  <>. Patch for AIX v4.2 from James
  FitzGibbon <> to take advantage of newer OS API;
  this also required addition of a new return type (long-long,
  specified as "j") to ProcessTable.xs. Patch to add new field
  "numthr" for number of threads for Solaris from Joseph
  Cavanaugh <Joseph.Cavanaugh@FMR.COM>. Patch for linux compiler
  warnings from Marcus Crafter <>. Changed HPUX
  "cmd" field to "cmndline" for consistency with other ports at
  the suggestion of Craig Cook <cncook@gene.COM>. Windows port
  via Cygwin from J Robert Ray <>. Patch for
  multithread support under Solaris from Kong Li
  <>. Patch for File::Find::prune tty mapping
  buglet from <>. Changed behavior of
  store_ttydev() in ProcessTable.xs to insert an empty string
  for processes that don't have a tty, instead of having it
  return undef. I *think* this will fix a problem reported on
  HPUX by H.Merijn Brand <>. Changed ttynums
  to be treated as unsigned to fix occasional negative ttynum
  bug reported by Daniel Berger <>.

0.37  Fri Nov  8 09:50:56 EST 2002
  -Patch from Philip Molter <> to fix typo in

0.38  Fri Dec  6 22:23:20 EST 2002
  -Fixed my omission of new AIX files from MANIFEST. Patch from
  Tim Cutts <> for Tru64 clusters.

0.39  Fri Oct  3 11:45:21 MDT 2003
  -Project is now hosted on SourceForge. Patch from Aaron
  Sherman <> from ticket #2578 to add a
  warn function ppt_warn() instead of sending errors to stderr;
  changed linux, bsdi and aix. Added ppt_croak and updated
  PORTING docs. Added port to Darwin from Tom Wyant
  <>. Added port to Nonstop-UX from Mike
  Steinert <>. Patch from
  James.FitzGibbon <> for AIX 5.1
  command line args. Added note to README.dec_osf that root
  access is required.

0.40  Sun Jul 10 19:10:16 MDT 2005
  -Added patch for support of FreeBSD-5 via kvm from Oleg King
  <>. Added contrib directory and pswait script
  from dominix <>. Patch from Steve Linn
  <> to handle processes larger than 2GB. Added
  jiffies-to-microseconds patch for linux from Jason A. Smith
  <>. Added patch from ticket
  #12951 to fix Solaris 8 with multi-threaded Perl where
  readdir_r is defined differently for POSIX compiles. Patch for
  misreport of PID in cygwin ( ticket #12840).
  Fix for FC4 gcc-4 buffer overrun complaint.

0.41  Fri Jun 30 22:04:43 MDT 2006
  -Port to openbsd from <>. Fix for
  EOVERFLOW in HPUX 11.11 from <>
  ( ticket #18932). Module now requires perl 5.6 as
  suggested by <> ( ticket
  #15279). Patches from <> for killall to
  use fname if cmndline is not defined and rename PID_ZOMBIE to
  PID_ORPHANED under cygwin ( ticket #14837,
  #14836). Fixed empty pctmem bug on linux due to change in
  format of /proc/meminfo (hopefully this format is stable

0.42  Fri Jan 25 22:29:00 MST 2008
  -Patch to fix PROC_FS define in Solaris 5.10 from jlv
  <>; patch to replace kinfo array and use
  KINFO structure on darwin. Patch from Steve Linn
  <> for x86_64 linux. Shortened test code so it
  only shows info for current process.

0.43  Thu Jul 17 20:59:23 MDT 2008
  -Changed 'my $TTYDEVSFILE;' to 'our' to permit multiple
  versions of perl ( bug ID 37722); fixed up include
  file order in os/Linux.h so module will build on OpenSuse 11
  per request of Steve Linn <>; fixed warning
  under perl 5,10 ( bug ID 36666); fixes for numerous
  problems on darwin from  Tom Wyant <>
  ( bug IDs 24331, 32761, and 33698); fix for ARG_MAX
  dynamic configuration in os/Linux.h ( bug ID 36283).

0.44  Fri Jul 25 08:25:52 MDT 2008
  -Patch from Tom Wyant <> for darwin issues
  that didn't make it into 0.43.

0.45    Mon Sep  8 09:13:14 MDT 2008
  -Patch from Milosz Tanski <> to make module
  thread-safe on linux ( ID 38709). Patch from Scott
  Davis <> for new constructor flag
  enable_ttys, which when set to 0 disables traversing the
  device tree.

0.46    Fri, Oct 19 2012
  -Initial release by new maintainer jswartz, identical to 0.45 except for meta
        files and README
0.47 16 Feb. 2013
  -Initial releas by new maintainer jwb. Incorporated meta file updates from
  Jonathan Swartz <>. Closed a bunch of bugs: Patch from
  Christian Boitel <> (fixes #51470); added
  suggestion from Opera Wang <> (fixes #51470 even
  more); patches from Michael Schilli (MSCHILLI) (fix #41397, #46861 and
  #58236), work on perl w/o threads; pulled commits from Slaven Rezić
  <>, use kvm implementation for FreeBSD >= 6.0 (closes #68405
  and #16978); fixed bug #69397, fh not closed; fixed RT #72862, unsafe use of
  /tmp; added tests;

  -Pulled commits from Chris Williams <>, fixes build
  errors on NetBSD and OpenBSD. Fixed #72862 (byte order tag in cache file), 
  applied patch to fix #67224 (cygwin PID_ORPHANED) by <rurban at>.
  Pulled FreeBSD patches from Slaven Rezić <>; 
  Pulled from David Zaebst <>): Fixes to stay accurate on
  machines with many cpus (#82175), to include system time into calculations
  (#80391) and others (#81312, #82175 and #80391) and to fix unknown process
  states for debian kernels #71976. Tried to get it compiling under
  -Fixed #61946 (odd process names), solution by Bernd Kallies. Fixed #48445, patch from
  Guillaume Rousse. Pulled fixes from Opera Wang. Fixed typos discovered by
  Salvatore Bonaccorso, David Steinbrunner and HMBRAND. Fixed #89117, patch
  from yyang. Got it (hopefully) running under kfreebsd.