Blame Changes

Packit 258f23
Revision history for Perl extension IPC::Run
Packit 258f23
Packit 258f23
0.99 Fri Mar 30 2018
Packit 258f23
 - Fixes for windows unit tests so they skip or pass.
Packit 258f23
  t/autoflush.t
Packit 258f23
  t/readonly.t
Packit 258f23
  t/run_stdin-callback-return-array.t
Packit 258f23
Packit 258f23
0.98 Thu Mar 29 2018
Packit 258f23
 - Switch to using $!{EINTR}
Packit 258f23
 - Honor umask for user/group permissions on a +rw file
Packit 258f23
 - Remove commented code from RT 50739
Packit 258f23
 - #63 - Patch for fixing _write on invalid objects
Packit 258f23
 - #54 - Make slave the controlling terminal so more programs can be called from IPC::Run reliably
Packit 258f23
 - #53 - Prevent Not a GLOB reference in close_terminal by untieing before close
Packit 258f23
 - #46 - '&' closing the stdin of the right process.
Packit 258f23
 - #41 - Do POSIX::_exit not ::exit
Packit 258f23
 - #40 - Assure child Win32 processes have same priority as parent
Packit 258f23
 - #38 - Add unit test for passing use of Readonly.pm
Packit 258f23
 - #39 - Fix GLOB test in IPC::Run::IO->new
Packit 258f23
 - #86 - Fix for memory leak [rt.cpan.org #57990]
Packit 258f23
 - MANIFEST was updated. New tests may start shipping now.
Packit 258f23
Packit 258f23
0.97 Mon Mar 26 2018
Packit 258f23
 - Update meta and POD to point to GitHub issues not RT.
Packit 258f23
 - Update README with pod changes.
Packit 258f23
 - Fix variable name in synopsis - [Github #47]
Packit 258f23
 - Fix t/run.t to work on "perl in space" - [Github #100]
Packit 258f23
Packit 258f23
0.96 Fri May 12 2017
Packit 258f23
 - Update bug tracker to https://github.com/toddr/IPC-Run/issues
Packit 258f23
Packit 258f23
0.95 Mon Apr 24 2017
Packit 258f23
 - Spelling fixes
Packit 258f23
 - doc fix: full_result returns $?, not $? >> 8
Packit 258f23
 - Fix check for reaped PID in reap_nb
Packit 258f23
 - Re-remove unnecessary use of UNIVERSAL
Packit 258f23
Packit 258f23
0.94_02 Thu Apr 14 2016
Packit 258f23
 - Skip infinity test on perl below 5.8.9
Packit 258f23
Packit 258f23
0.94_01 Tue Apr 12 2016
Packit 258f23
 - Enable Travis-CI integration for IPC::Run
Packit 258f23
 - Use q{} and qq{} to fix problems with quotation in cmd.exe
Packit 258f23
 - sync $VERSION across all files to address kwalitee
Packit 258f23
 - RT 109243 - Stop side affect of altering flushing of STDOUT and STDERR
Packit 258f23
 - CHILD_HANDLE should be closed with 'Close' to prevent a warning.
Packit 258f23
 - require Win32API::File on Windows
Packit 258f23
 - Better timer error message + an additional unit test
Packit 258f23
 - Catching previously non-detected malformed time strings
Packit 258f23
 - Let Timer accept all allowable perl numbers
Packit 258f23
 - allow the OS to choose the ephemeral port to use
Packit 258f23
 - Don't use version.pm to parse the perl version in Makefile.PL
Packit 258f23
 - perltidy
Packit 258f23
 - Do not import POSIX into local namespace (it's a memory hog)
Packit 258f23
Packit 258f23
0.94 Sun Dec 14 2014
Packit 258f23
 - RT 100858 - Update License discrepancies.
Packit 258f23
Packit 258f23
0.93_01 Wed Dec 10 2014
Packit 258f23
 - Many typo corrections from David Steinbrunner via github
Packit 258f23
 - RT 20105 - t/pty.t fails on Solaris 10
Packit 258f23
Packit 258f23
0.93 Wed Dec 10 2014
Packit 258f23
 - RT 100711 - Add aggressive exit to t/signal.t after skip_all to prevent failures.
Packit 258f23
 - RT 97926 - Fix for run argument with spaces in path
Packit 258f23
 - skip t/win32_compile.t on Android
Packit 258f23
 - RT 86133 - TODO failing POD tests for IPC::Run
Packit 258f23
Packit 258f23
0.92 Thu Aug 30 2012
Packit 258f23
 - Tests are good in dev version. Releasing to stable.
Packit 258f23
Packit 258f23
0.92_01 Wed 22 Aug 2012
Packit 258f23
 - RT 59775 - Catching a signal during select() can lock up IPC::Run
Packit 258f23
Packit 258f23
0.91 Tue 14 Feb 2012
Packit 258f23
 - Tests are good in dev version. Releasing to stable.
Packit 258f23
Packit 258f23
0.91_01 Mon 16 Jan 2012
Packit 258f23
 - RT 57277 - Apply suggested 1 line fix for dev release to public.
Packit 258f23
Packit 258f23
0.90 Wed 29 Jun 2011
Packit 258f23
 - RT 57277 - Add breaking test. No solution at present.
Packit 258f23
 - RT 68623 - disable parallel tests on windows
Packit 258f23
 - RT 43072 - Skip dragonfly platform on t/pty.t (hangs)
Packit 258f23
 - RT 14078 - run() miscalculates length of UTF-8 strings
Packit 258f23
 - RT 49693 - security patch for lib/IPC/Run/Win32IO.pm s/INADDR_ANY//
Packit 258f23
 - RT 38193 - Fix error detection on non-English operating systems
Packit 258f23
 - Add a blank doc entry for IPC::Run::Win32IO::poll to quiet windows pod parser errors
Packit 258f23
 - RT 57190 - handle PATH environment variable not being defined. WILL NOT default to '.' since UNIX would not do this and the program has been behaving the UNIX way to date.
Packit 258f23
Packit 258f23
0.89 Wed 31 Mar 2010
Packit 258f23
  - Revert extended tests to require "oslo consensus" variables - http://use.perl.org/~Alias/journal/36128
Packit 258f23
  - Add IO::Pty to META.yml requirement This has been inconsistently depended on over the years in META.yml
Packit 258f23
Packit 258f23
0.88 Tue 30 Mar 2010
Packit 258f23
  - Missed dangling isa in IPC::Run::Debug
Packit 258f23
  - Fix retry for read of fh when I get "Resource temporarily unavailable."
Packit 258f23
    It was previously pounding on the file handle with no rest 200 times then giving up.
Packit 258f23
    On fast systems this wasn't long enough. I'm implementing select(undef, undef, 0.01)
Packit 258f23
    to provide a more consistent retry among hardware and os.
Packit 258f23
  - Fix POD indentation in IO.pm
Packit 258f23
Packit 258f23
0.87 Mon 29 Mar 2010
Packit 258f23
  - Add doc type fixes - RT 56030 from carnil (Debian)
Packit 258f23
  - Remove recommends for AUTHOR only modules
Packit 258f23
  - add pod_coverage and simplify pod test.
Packit 258f23
  - document undocumented public subs with TODO and best guess as to what they do.
Packit 258f23
  - Explicitly recommend IO::Pty version number 1.08
Packit 258f23
Packit 258f23
0.86 Wed 24 Mar 2010
Packit 258f23
  - Add all files to subversion for easier releases
Packit 258f23
  - bump version on ALL files to 86
Packit 258f23
Packit 258f23
0.85 Mon 22 Mar 2010
Packit 258f23
  - Remove use UNIVERSAL. - RT 51509
Packit 258f23
  - fix pod for Win32Helper - RT 51695
Packit 258f23
  - Better PATHEXT logic bug if cmd_name contains periods - RT 50739
Packit 258f23
  - Enhance tests for run.t for better diagnostics - RT 47630
Packit 258f23
Packit 258f23
0.84 Mon 13 Jul 2009
Packit 258f23
	- Add darwin to the list of known-bad platforms
Packit 258f23
Packit 258f23
0.83 Fri 10 Jul 2009
Packit 258f23
	- Switch from command.com to cmd.exe so we work on 2008 or newer.
Packit 258f23
Packit 258f23
0.82 Thu 18 Dec 2008
Packit 258f23
	- Moving changes in 0.81_01 to a production release
Packit 258f23
Packit 258f23
0.81_01 Wed 15 Oct 2008
Packit 258f23
	- This is the first in a series of refactoring test releases.
Packit 258f23
	- Removed Makefile.PL message noisily asking users to do CPAN Testers
Packit 258f23
	  dirty work.
Packit 258f23
	- Simplified the Makefile.PL code a little.
Packit 258f23
	- Upgraded all tests to Test::More
Packit 258f23
	- Added a $VERSION for all modules
Packit 258f23
	- Adding some missing POD sections
Packit 258f23
	- Various other clean ups
Packit 258f23
Packit 258f23
0.80 (missing)
Packit 258f23
	- IPC::Run::IO now retries on certain "temporarily unavailable" errors.
Packit 258f23
	  This should fix several reported issues with t/run.t, test 69.
Packit 258f23
	  Many thanks to < Eric (at) Scratch Computing (.com) > for the patch!
Packit 258f23
	- Applied documentation patch from RT.
Packit 258f23
	- Fixed documentation to work with '<' redirect
Packit 258f23
Packit 258f23
0.79 Wed Jan 19 15:39:00 PST 2005
Packit 258f23
	- New maintainer: Richard Soderberg <rsod@cpan.org>
Packit 258f23
	- Resolved several RT tickets
Packit 258f23
	  (4934, 8263, 8060, 8400, 8624, 5870, 4658, 8940, 1474, 4311)
Packit 258f23
	- Skip certain tests on AIX and OpenBSD as they deadlock otherwise
Packit 258f23
	- Applied AIX patch from ActiveState (#8263)
Packit 258f23
	- Fixed t/run.t on OS X (#8940)
Packit 258f23
	- Add check for EINTR to _read (#5870)
Packit 258f23
	- FreeBSD uses fds up to 4 by default, fixed tests to start at 5 (#8060)
Packit 258f23
Packit 258f23
0.78 Tue Mar  9 01:49:25 EST 2004
Packit 258f23
	- Removed all pseudohashes
Packit 258f23
	- Require Win32::Process when on Win32 (<CORION a t cpan . org>)
Packit 258f23
	- Retry the select() instead of croaking when EINTR occurs
Packit 258f23
	  (Ilya Martynov,  ilya a t iponweb.net)
Packit 258f23
	- This needs further testing and analysis, but works for
Packit 258f23
	  the submitter.
Packit 258f23
Packit 258f23
0.77 Fri Sep 26 15:36:56 EDT 2003
Packit 258f23
	- Non-binmoded pipes are now s/\r//g on Win32
Packit 258f23
	- Passes all tests on WinXPPro and WinNT
Packit 258f23
	- Deadlocks somewhere shortly after process creation on Win2K
Packit 258f23
	  in some cases
Packit 258f23
Packit 258f23
0.76 (missing)
Packit 258f23
	- Does not use pseudohashes for perls >= 5.9.0 (reported by several
Packit 258f23
	  users, patch by Nicholas Clark <nick@unfortu.net>)
Packit 258f23
	- pumpable() is now exported (reported by fetko@slaysys.com)
Packit 258f23
	- pumpable() now more thorough in checking for a dead child (reported
Packit 258f23
	  by fetko@slaysys.com)
Packit 258f23
	- it checks for reapable processes when all pipes to the process
Packit 258f23
	  are paused
Packit 258f23
	- pumpable() now yields the processor when all pipes to
Packit 258f23
	- Distro layout improved: Run.pm and Run/... are now under
Packit 258f23
	  lib/IPC/...
Packit 258f23
Packit 258f23
0.75 Tue Jan 28 11:33:40 EST 2003
Packit 258f23
	- Fix a bug that was causing _pipe() to seem to fail when feeding
Packit 258f23
Packit 258f23
0.74 Thu May 23 09:24:57 EDT 2002
Packit 258f23
	- Skip a set of pty tests that deadlock on freebsd.  Reported and
Packit 258f23
	  investigated by Rocco Caputo <troc@pobox.com>.  perldoc t/pty.t
Packit 258f23
	  for details.
Packit 258f23
Packit 258f23
0.73 Wed May 22 09:03:26 EDT 2002
Packit 258f23
	- Improved Win32 PATH and PATHEXT search;
Packit 258f23
	  original patch by Ron Savage <ron@savage.net.au>
Packit 258f23
Packit 258f23
0.72 Thu May  9 10:25:55 EDT 2002
Packit 258f23
	- Doc patch from daniel@danielgardner.org
Packit 258f23
	- Backport Win32Helper to 5.00503 (compilation of this is
Packit 258f23
	  tested on Unix or it would not have been spotted,
Packit 258f23
	  not even by Matt Sergeant matts@sergeant.org).
Packit 258f23
Packit 258f23
0.71 Mon May  6 09:04:18 EDT 2002
Packit 258f23
	- Fix the pesky run/t check for specific error string (test 134 at
Packit 258f23
	  the moment, bad file descriptor test) that keeps tripping up
Packit 258f23
	  cpantesters
Packit 258f23
Packit 258f23
0.70 Fri Apr 26 10:15:13 EDT 2002
Packit 258f23
	- Massive performance improvements on Win32 See IPC::Run::Win32Helper's
Packit 258f23
	  optimize() documentation.
Packit 258f23
	- moved data pump routine to IPC::Run::Win32Pump, now it loads much
Packit 258f23
	  faster.
Packit 258f23
	- Where reasonably safe to do so, temporary files are used instead of
Packit 258f23
	  pipes+pumps.
Packit 258f23
	- Setting $ENV{IPCRUNDEBUG}="notopt" can help find opportunities for
Packit 258f23
	  optimizing.  See IPC::Run::Debug for details.
Packit 258f23
	- Added 'noinherit => 1' option (parsed like 'debug => "basic") to
Packit 258f23
	  allow stdin, stdout, and stderr to not be inherited by the child.
Packit 258f23
	- Factored debugging out in to IPC::Run::Debug so Win32Pump.pm need not load
Packit 258f23
	  IPC::Run to get it.
Packit 258f23
	- Debugging code can be compile-time optimized away by setting
Packit 258f23
	  $ENV{IPCRUNDEBUG} = "none" (or 0) before IPC::Run::Debug is first loaded
Packit 258f23
	  causes all _debug... code to be optimized away before runtime.
Packit 258f23
	- Moved some functionality from IPC::Run in to IPC::Run::IO to allow
Packit 258f23
	  IPC::Run::Win32IO to alter IPC::Run's behavior.  More of this should
Packit 258f23
	  happen; IPC::Run has grown too bloaty.
Packit 258f23
	- All the hokey hacky "manual imports" of IPC::Run's old _debug...()
Packit 258f23
	  functions has been replaced by "use IPC::Run::Debug".
Packit 258f23
	- All the hokey hacky "manual imports" of IPC::Run's Win32_MODE()
Packit 258f23
	  constant has been replaced by importing it from IPC::Run.
Packit 258f23
	- Cleaned up IPC::Run::Win32*'s debugging levels a bit to unclutter
Packit 258f23
	  "basic" and "data" debugging level output.
Packit 258f23
	- exception handling in _open_pipes no longer silently eats exceptions.
Packit 258f23
Packit 258f23
0.67 Fri Apr 19 12:14:02 EDT 2002
Packit 258f23
	- remove _q from the examples in the POD - it was inconsistent (the
Packit 258f23
	  examples had bugs) and didn't help readability.  Spotted by
Packit 258f23
	  B.Rowlingson@lancaster.ac.uk.
Packit 258f23
Packit 258f23
0.66 Wed Mar 27 07:42:27 EST 2002
Packit 258f23
	- Really dumb down that bad file descriptor test last tweaked in 0.64;
Packit 258f23
	  the CLI does not script well under internationalization.
Packit 258f23
Packit 258f23
0.65 (unreleased)
Packit 258f23
	- Mostly focused on Win32
Packit 258f23
	- pass filehandles to pumpers by number on the command line to avoid
Packit 258f23
	- use 2 arg binmode to force socket handles into/out of binmode
Packit 258f23
	- improve t/binmode.t
Packit 258f23
	- TODO: test ^Z and \000 pass-through.
Packit 258f23
Packit 258f23
0.64 Wed Mar 13 11:04:23 EST 2002
Packit 258f23
	- Fix a test that fails on AIX because it uses a different message for
Packit 258f23
	  "Bad file descriptor".  Reported by "Dave Gomboc" <dave@cs.ualberta.ca>
Packit 258f23
	- If IO::Pty is loadable, require IO::Pty 1.00 or later.
Packit 258f23
Packit 258f23
0.63 Wed Feb 27 12:25:22 EST 2002
Packit 258f23
	- the select loop will now poll (with logarithmic fallback) when all
Packit 258f23
	  I/O is closed but we have children running.  Problem report by
Packit 258f23
	  "William R. Pearson" <wrp@alpha0.bioch.virginia.edu>.
Packit 258f23
Packit 258f23
0.62 Tue Jan  1 16:40:54 EST 2002
Packit 258f23
	- Have all children close all file descriptors opened by the parent
Packit 258f23
	  harness, otherwise children of different harnesses can unwittingly
Packit 258f23
	  keep open fds the parent closes, thus preventing other children
Packit 258f23
	  from seeing them close.  Reported by Blair Zajac <blair@orcaware.com>.
Packit 258f23
Packit 258f23
0.61 Fri Dec  7 05:21:28 EST 2001
Packit 258f23
	- Fix up signal.t to not fail due to printing not working quite right in
Packit 258f23
	  signal handlers.  Spotted in the wild by Blair Zajac <blair@orcaware.com>.
Packit 258f23
Packit 258f23
0.6 Thu Dec  6 04:36:57 EST 2001
Packit 258f23
	- Get binmode--(">", binary) and ("<", binary)--working on Win32.
Packit 258f23
Packit 258f23
0.56 Sun Dec  2 09:18:19 EST 2001
Packit 258f23
	- IPC::Run now throws exceptions from the post-fork, pre-exec child process
Packit 258f23
	  back to the parent process using an additional pipe.  This pipe also
Packit 258f23
	  is used to pause the parent until the child performs the exec(), so
Packit 258f23
	  that (when a new version of IO::Pty implements it) pty creation can
Packit 258f23
	  be completed before the parent tries to write to it.
Packit 258f23
Packit 258f23
0.55 Sat Dec  1 17:15:02 EST 2001
Packit 258f23
	- Fixups to Win32 code to get it compiling ok (added t/win32_compile.t
Packit 258f23
	  to ensure that Win32Helper.pm at least compiles Ok).
Packit 258f23
	- Minor tweak to deal with "_" in $IO::Pty::VERSION, which is "0.92_04",
Packit 258f23
	  including quotes, in the current version.
Packit 258f23
Packit 258f23
0.54 Fri Nov 30 11:46:05 EST 2001
Packit 258f23
	- Win32 SUPPORT!!!!!
Packit 258f23
	- Added support for env. var. IPCRUNDEBUG=1 (or 2, 3, 4) to make it
Packit 258f23
	  easier for users to debug the test suite.
Packit 258f23
	- Adapt to IO::Pty 0.91, which creates slave fds in new(), forcing us to
Packit 258f23
	  close them in the parent after the fork().  We don't check for IO::Pty's
Packit 258f23
	  version number, perhaps we should (waiting for a response from Roland
Packit 258f23
	  Giersig <RGiersig@cpan.org> about what he intends, since this could affect
Packit 258f23
	  all users of older IO::Ptys that upgrade).
Packit 258f23
	- Add a sleep(1) to allow the slave pty to be initted, otherwise a premature
Packit 258f23
	  write() to the slave's input can be lost.  This is a bogus hack, but
Packit 258f23
	  IO::Pty 0.9x should fix it when it's released.
Packit 258f23
	- removed spurious use Errno qw( EAGAIN ), since this causes warnings with
Packit 258f23
	  perl5.00505.  Reported by  Christian Jaeger <christian.jaeger@sl.ethz.ch>
Packit 258f23
	  (pflanze).
Packit 258f23
	- IPC::Run::start() now does a kill_kill() if called on an already started
Packit 258f23
	  harness.  This is needed on Win32 to pass the test suite, but it's also a
Packit 258f23
	  nice thing.
Packit 258f23
	- The debug file descriptor is built by dup()ing STDERR in the parent and
Packit 258f23
	  passing it to the kids.  This keeps us from needing to worry about
Packit 258f23
	  debugging info in the select() loop and removes unnecessary complications.
Packit 258f23
	  Still needs a bit of work: it should be dup()ed in _open_pipes and it's
Packit 258f23
	  value should be stored in the harness, not a global.
Packit 258f23
	- child processes are now a little more clearly identified in debug output.
Packit 258f23
	- Some debugging messages are now clearer.
Packit 258f23
	- debugging is now almost ready to be compile-time optimized away.
Packit 258f23
	- "time since script start" is now shown when debugging.  We should check to
Packit 258f23
	  see if Time::HiRes is loaded and make this more accurate.
Packit 258f23
	- pipe opens are now down in Run::IO::open_pipe().
Packit 258f23
	- map_fds won't complain about no open fds unnecessarily (which was rare,
Packit 258f23
	  but still).
Packit 258f23
	- the debug fd is now determined per-harness, not globally.  This requires a
Packit 258f23
	  bit of a hack (since I don't want to require $harness->_debug everywhere
Packit 258f23
	  _debug might be called), but it seems worthwhile.
Packit 258f23
Packit 258f23
0.5 Sat Nov 10 21:32:58 EST 2001
Packit 258f23
	- confess() when undef passed to _exec()
Packit 258f23
	- Cleaned up some POD and code comments.
Packit 258f23
	- Added patch to make the write side of pipes & ptys that IPC::Run must
Packit 258f23
	  write to be non-blocking. Added a test for pipes, but Boris reports that
Packit 258f23
	  Solaris 8 something seems to still block in the pty case, though Linux
Packit 258f23
	  does not, so I did not add a test for that case.  Probably should add one
Packit 258f23
	  and complain bitterly if it fails (rather than actually failing the tests)
Packit 258f23
	  and ptys are used.  Patch from Borislav Deianov
Packit 258f23
	  <borislav@users.sourceforge.net>.
Packit 258f23
	- Added a patch to invalidate the search path cache if the file is no longer
Packit 258f23
	  executable, also from Borislav Deianov <borislav@users.sourceforge.net>
Packit 258f23
	- Started implementation of an adopt() external call that would let you
Packit 258f23
	  aggregate harnesses, and a t/adopt.t, but different children need to
Packit 258f23
	  properly close all FDs: they're inheriting each other's FDs and not
Packit 258f23
	  properly closing them.
Packit 258f23
	- Close $debug_fd in &sub coprocesses.
Packit 258f23
	- Document the problems with &sub coprocesses.
Packit 258f23
	- Fixed fork error return detection to actually work, spotted by Dave
Packit 258f23
	  Mitchell <davem@fdgroup.co.uk>.
Packit 258f23
	- Give errors if a path with a directory separator is passed in if the
Packit 258f23
	  indicated filename does not exist, is not a file, or is not executable.
Packit 258f23
	  They're unixish errors, but hey...
Packit 258f23
	- Allowed harness \@cmd, '>', $foo, timeout 10 ; to parse (it was mistakenly
Packit 258f23
	  thinking I wanted to send output to the IPC::Run::Timer created by
Packit 258f23
	  timeout().
Packit 258f23
	- pumpable() now returns true if there are any kids left alive, so that
Packit 258f23
	  timers may continue to run.
Packit 258f23
	- A timeout of 1 second is forced if there are no I/O pipes left open, so
Packit 258f23
	  that the select loop won't hang in select() if there is no I/O to do.
Packit 258f23
	  Perhaps should only do that if there are timers.
Packit 258f23
	- Added a signal() to send specified signals to processes.  Chose this over
Packit 258f23
	  the more traditional Unix kill() to avoid people thinking that kill()
Packit 258f23
	  should kill off processes.
Packit 258f23
	- Added kill_kill() which does kill off processes and clean up the harness.
Packit 258f23
	  Sends TERM then (if need be) waits and sends KILL.
Packit 258f23
	- timeouts now work.
Packit 258f23
	- Removed eval{}s from a few subs, we were being over protective.
Packit 258f23
	- Preserve pos() across updates to scalars we append to, so m//g
Packit 258f23
	  matches will work.
Packit 258f23
	- Cleaned up the examples/
Packit 258f23
	- Added abuse/ for (mostly user contributed) scripts that I can use as
Packit 258f23
	  a manual regression test.  Most/all are reflected in t/*.t, but not
Packit 258f23
	  verbatim, so it's good to have to originals around in case they
Packit 258f23
	  happen to trigger something t/*.t miss.
Packit 258f23
	- Cleaned up SYNOPSIS a bit: it was too scary.  Still is, but less so.
Packit 258f23
Packit 258f23
0.44 Mon Oct  2 17:20:29 EDT 2000
Packit 258f23
	- Commented out all code dealing with select()'s exception file descriptor
Packit 258f23
	  mask.  Exceptions are vaguely defined and until somebody asks for them
Packit 258f23
	  I don't want to do anything automatic with them.  Croaking on them
Packit 258f23
	  was certainly a bad idea: FreeBSD and some other platforms raise an
Packit 258f23
	  exception when a pipe is closed, even if there's data in the pipe.
Packit 258f23
	  IPC::Run closes a pipe filehandle if it sees sysread() return an
Packit 258f23
	  error or 0 bytes read.
Packit 258f23
Packit 258f23
0.43 Thu Aug 17 23:26:34 EDT 2000
Packit 258f23
	- Added flushing of STDOUT and STDERR before fork()/spawn() so that the
Packit 258f23
	  children won't inherit bufferloads of unflushed output.  This seems
Packit 258f23
	  to be automatic in 5.6.0, but can cause loads of grief in 5.00503.
Packit 258f23
	  I wish there were a way to flush all open filehandles, like stdio's
Packit 258f23
	  fflush( NULL ) ;
Packit 258f23
Packit 258f23
0.42 Thu Aug 17 23:26:34 EDT 2000
Packit 258f23
	- Worked around pseudo-hash features not implemented in perl5.00503
Packit 258f23
	- Deprecated passing hashes of options in favor of just passing
Packit 258f23
	  name-value pairs.
Packit 258f23
Packit 258f23
0.41 (missing)
Packit 258f23
	- Added result, results, full_result, full_results.  I added so many
Packit 258f23
	  variations because I expect that result and full_result are the most
Packit 258f23
	  likely to get a lot of use, but I wanted to be able to return a list
Packit 258f23
	  as well, without misusing wantarray.
Packit 258f23
Packit 258f23
0.4  Thu Jun 15 14:59:22 EDT 2000
Packit 258f23
	- Added IPC::Run::IO and IPC::Run::Timer, bunches of tests.  IPC::Run
Packit 258f23
	  can now do more than just run child processes.
Packit 258f23
	- Scribbled more documentation.  Needs a good edit.
Packit 258f23
	- Fixed some minor bugs here and there.
Packit 258f23
Packit 258f23
0.34 Thu Jun  8 06:39:23 EDT 2000
Packit 258f23
	- Fixed bug in t/pty.t that prevented it from noticing IO::Pty
Packit 258f23
	- Converted IPC::Run to use fields.
Packit 258f23
Packit 258f23
0.32 Thu Jun  8 06:15:17 EDT 2000
Packit 258f23
	- Added warning about missing IO::Pty in MakeMaker.PL.  Thought about
Packit 258f23
	  making it a prerequisite, but it's not: IPC::Run can do pipes, etc,
Packit 258f23
	  if it's not found, and IO::Pty is more unix-specific than IPC::Run is.
Packit 258f23
	  What I'd really like is an 'ENABLERS' section to MakeMaker.PL that
Packit 258f23
	  tells CPAN.pm to try to install it but not to stress if it can't.
Packit 258f23
	- t/pty.t skips all tests if require IO::Pty fails.
Packit 258f23
Packit 258f23
0.31 Tue Jun  6 01:54:59 EDT 2000
Packit 258f23
	- t/pty.t should now report what was received when checking it against
Packit 258f23
	  a regex.  This is because 0.3's failing a few tests on ppc-linux
Packit 258f23
	  and the ok( $out =~ /.../ ) ; wasn't giving me enough info.  I chose
Packit 258f23
	  the 1 arg form due to older perl dists' Test.pm not grokking
Packit 258f23
	  ok( $out, qr// ) ;.  I should really do this to t/*.t, but I'm tired.
Packit 258f23
	- Removed the misfired Run/Pty.pm from the dist.
Packit 258f23
Packit 258f23
0.3  Sat Jun  3 08:33:17 EDT 2000
Packit 258f23
	- Changed spelling of '<|<' and '>|>' to '<pipe' and '>pipe'.  This
Packit 258f23
	  is to make it less confusing (I hope), since '>|' is a valid construct
Packit 258f23
	  in some shells with totally unrelated semantics, and I plan on adding
Packit 258f23
	  it to IPC::Run if a noclobber option ever makes it in.
Packit 258f23
	- Added '<pty<' and '>pty>' operators.
Packit 258f23
Packit 258f23
0.21 Fri Jun  2 12:49:08 EDT 2000
Packit 258f23
	- Added some advice for dealing with obstinate children
Packit 258f23
	- Converted many methods to plain subs for simplicity & performance
Packit 258f23
	- Converted to using local $debug to control debugging status for
Packit 258f23
	  simplicity's sake.  Don't know about performance effects, since
Packit 258f23
	  dynamic scope lookups can be slow.
Packit 258f23
Packit 258f23
0.2  Thu Jun  1 01:48:29 EDT 2000
Packit 258f23
	- Undid the creation of a pipe when passing a \*FOO or an IO::Handle
Packit 258f23
	  ref and added '<|<', \*IN and '>|>', \*OUT syntax instead.  This was
Packit 258f23
	  because some very subtle bugs might have occurred if \*FOO was left
Packit 258f23
	  in the wrong opened/closed state before calling run(), start() or
Packit 258f23
	  harness().  Now, \*FOO must be open before the start() call, and
Packit 258f23
	  '<|<' and '>|>' will close \*IN or \*OUT (or whatever) and open
Packit 258f23
	  a pipe on it.  This is analogous to IPC/Open{2,3}.pm behaviors.
Packit 258f23
	- Added eg/factorial_scalar and eg/runsh.  Rewrote eg/factorial_pipe.
Packit 258f23
	- Fixed bug that was preventing input scalar refs (ie input for the
Packit 258f23
	  child process) from ever being read from a second time.  This
Packit 258f23
	  caused pump() to hang.
Packit 258f23
	- Cleaned up calculation and use of timeout values so that when
Packit 258f23
	  select() times out, it isn't called again.  It's now adding one
Packit 258f23
	  second to the timeout value because time() resolution is 1 second
Packit 258f23
	  and we want to guarantee a minimum timeout even when we sample the
Packit 258f23
	  start time at the end of a second
Packit 258f23
	- minor name changes to some field names to make the code marginally
Packit 258f23
	  less obscure.
Packit 258f23
	- Fixed the MakeMaker settings and the directory layout so "make install"
Packit 258f23
	  actually works.
Packit 258f23
Packit 258f23
0.1  Tue Apr 25 22:10:07 2000
Packit 258f23
	- Initial release