summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorschmidt <douglascraigschmidt@users.noreply.github.com>2005-06-16 18:17:48 +0000
committerschmidt <douglascraigschmidt@users.noreply.github.com>2005-06-16 18:17:48 +0000
commitc485620da2b7d7de3296a01ea1e661e0b34dbc47 (patch)
treef974cb3e84bda9d074af0ca8cf5f07c908a11084
parent3325541f03f1f54a202890dfcfe7d4be531c0455 (diff)
downloadATCD-c485620da2b7d7de3296a01ea1e661e0b34dbc47.tar.gz
ChangeLogTag:Thu Jun 16 07:38:57 2005 Douglas C. Schmidt <schmidt@cs.wustl.edu>
-rw-r--r--ChangeLog12
-rw-r--r--THANKS3
-rw-r--r--ace/Pipe.h10
-rw-r--r--ace/Process.cpp3
-rw-r--r--ace/SOCK_Stream.cpp4
5 files changed, 26 insertions, 6 deletions
diff --git a/ChangeLog b/ChangeLog
index ad6b85e6f13..c765abbafb0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,17 @@
Thu Jun 16 07:38:57 2005 Douglas C. Schmidt <schmidt@cs.wustl.edu>
+ * ace/Process.cpp (running): Only try to "kill" a process if
+ the PID is valid. Thanks to Howard Finer <hfiner at sonusnet
+ dot com> for contributing this.
+
+ * ace/SOCK_Stream.cpp (close): Added a call to ACE_OS::shutdown()
+ to force exit from ongoing operations. Thanks to Howard Finer
+ <hfiner at sonusnet dot com> for contributing this.
+
+ * ace/Pipe.h (ACE_Pipe): Updated the documentation for this class
+ to clarify why it uses sockets on Windows. Thanks to Dave
+ Varnell <Dave.Varvell@ni.com> for prompting this.
+
* ace/INET_Addr.cpp (set): Changed the test of
if (port_number < 0)
diff --git a/THANKS b/THANKS
index a177ff0fe5e..bea42ed082d 100644
--- a/THANKS
+++ b/THANKS
@@ -1988,7 +1988,8 @@ Alan Balasuar <balasuar at gmail dot com>
Will Chai <willchai at 126 dot com>
Paul Koch <paul dot koch at mci dot com>
Dave Giovannini <giovanninid at ociweb dot com>
-
+Dave Varnell <Dave dot Varvell at ni dot com>
+Howard Finer <hfiner at sonusnet dot com>
I would particularly like to thank Paul Stephenson, who worked with me
at Ericsson in the early 1990's. Paul devised the recursive Makefile
diff --git a/ace/Pipe.h b/ace/Pipe.h
index 4426126f865..e6a0d153079 100644
--- a/ace/Pipe.h
+++ b/ace/Pipe.h
@@ -6,7 +6,7 @@
*
* $Id$
*
- * @author Doug Schmidt
+ * @author Douglas C. Schmidt <schmidt@cs.wustl.edu>
*/
//==========================================================================
@@ -27,11 +27,11 @@
/**
* @class ACE_Pipe
*
- * @brief Provides a bidirectional "pipe" abstraction that is portable
- * to Windows NT, SVR4 UNIX, and BSD UNIX.
+ * @brief Provides a portable bidirectional "pipe" abstraction.
*
- * Uses "name" for lookup in the ACE service repository. Obtains
- * the object and returns it as the appropriate type.
+ * This class is designed to work with select()-based demuxers, such
+ * as the ACE_Select_Reactor, which is why it uses sockets on Windows
+ * rather than Win32 pipes (which aren't select()'able).
*/
class ACE_Export ACE_Pipe
{
diff --git a/ace/Process.cpp b/ace/Process.cpp
index c32ba2f6c47..5e3adf731fb 100644
--- a/ace/Process.cpp
+++ b/ace/Process.cpp
@@ -442,6 +442,9 @@ ACE_Process::running (void) const
&code);
return result && code == STILL_ACTIVE;
#else
+ if (ACE_INVALID_PID == this->getpid ())
+ return 0;
+ else
return ACE_OS::kill (this->getpid (),
0) == 0
|| errno != ESRCH;
diff --git a/ace/SOCK_Stream.cpp b/ace/SOCK_Stream.cpp
index eda799e0ee6..77feed6c819 100644
--- a/ace/SOCK_Stream.cpp
+++ b/ace/SOCK_Stream.cpp
@@ -31,6 +31,10 @@ ACE_SOCK_Stream::close (void)
// fork() works.
this->close_writer ();
#endif /* ACE_WIN32 */
+
+ // Shutdown the socket to force exit from ongoing operations
+ ACE_OS::shutdown (this->get_handle (), SHUT_RDWR);
+
// Close down the socket.
return ACE_SOCK::close ();
}