summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorschmidt <douglascraigschmidt@users.noreply.github.com>2000-06-15 18:28:50 +0000
committerschmidt <douglascraigschmidt@users.noreply.github.com>2000-06-15 18:28:50 +0000
commit03d9b92e33b9a3a40e5fc87263154444274652c1 (patch)
tree157bc4ae47620ce0d8339af52b956df2f51aca52
parentf0a06d556c287c1dec388b37567da0633fbee07c (diff)
downloadATCD-03d9b92e33b9a3a40e5fc87263154444274652c1.tar.gz
ChangeLogTag:Thu Jun 15 10:28:05 2000 Martin Stack <mstack@cambertx.com>
-rw-r--r--ChangeLog17
-rw-r--r--ChangeLogs/ChangeLog-02a17
-rw-r--r--ChangeLogs/ChangeLog-03a17
-rw-r--r--THANKS4
-rw-r--r--ace/Process_Manager.cpp6
-rw-r--r--ace/TTY_IO.cpp35
-rw-r--r--ace/Token.h43
7 files changed, 97 insertions, 42 deletions
diff --git a/ChangeLog b/ChangeLog
index 992474863cb..b7dc3abe67b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,19 @@
-Thu Jun 15 12:41:05 2000 Yamuna Krishnamurthy <yamuna@cs.wustl.edu>
+Thu Jun 15 10:28:05 2000 Martin Stack <mstack@cambertx.com>
+
+ * ace/TTY_IO.cpp (control): Added
+
+ dcb.fDtrControl = DTR_CONTROL_ENABLE;
+
+ for Win32 so that it will have the same default semantics as
+ Linux.
+
+Thu Jun 15 07:35:57 2000 Roger Larsson <larssoro@hotmail.com>
+
+ * ace/Process_Manager.cpp: Make sure to grab the lock inside the
+ terminate() methods and also call remove_proc() rather than
+ remove().
+
+Thu Jun 15 12:41:05 2000 yamuna <yamuna@cs.wustl.edu>
* ACE version 5.1.4 released.
diff --git a/ChangeLogs/ChangeLog-02a b/ChangeLogs/ChangeLog-02a
index 992474863cb..b7dc3abe67b 100644
--- a/ChangeLogs/ChangeLog-02a
+++ b/ChangeLogs/ChangeLog-02a
@@ -1,4 +1,19 @@
-Thu Jun 15 12:41:05 2000 Yamuna Krishnamurthy <yamuna@cs.wustl.edu>
+Thu Jun 15 10:28:05 2000 Martin Stack <mstack@cambertx.com>
+
+ * ace/TTY_IO.cpp (control): Added
+
+ dcb.fDtrControl = DTR_CONTROL_ENABLE;
+
+ for Win32 so that it will have the same default semantics as
+ Linux.
+
+Thu Jun 15 07:35:57 2000 Roger Larsson <larssoro@hotmail.com>
+
+ * ace/Process_Manager.cpp: Make sure to grab the lock inside the
+ terminate() methods and also call remove_proc() rather than
+ remove().
+
+Thu Jun 15 12:41:05 2000 yamuna <yamuna@cs.wustl.edu>
* ACE version 5.1.4 released.
diff --git a/ChangeLogs/ChangeLog-03a b/ChangeLogs/ChangeLog-03a
index 992474863cb..b7dc3abe67b 100644
--- a/ChangeLogs/ChangeLog-03a
+++ b/ChangeLogs/ChangeLog-03a
@@ -1,4 +1,19 @@
-Thu Jun 15 12:41:05 2000 Yamuna Krishnamurthy <yamuna@cs.wustl.edu>
+Thu Jun 15 10:28:05 2000 Martin Stack <mstack@cambertx.com>
+
+ * ace/TTY_IO.cpp (control): Added
+
+ dcb.fDtrControl = DTR_CONTROL_ENABLE;
+
+ for Win32 so that it will have the same default semantics as
+ Linux.
+
+Thu Jun 15 07:35:57 2000 Roger Larsson <larssoro@hotmail.com>
+
+ * ace/Process_Manager.cpp: Make sure to grab the lock inside the
+ terminate() methods and also call remove_proc() rather than
+ remove().
+
+Thu Jun 15 12:41:05 2000 yamuna <yamuna@cs.wustl.edu>
* ACE version 5.1.4 released.
diff --git a/THANKS b/THANKS
index 5d864a98690..255276ad780 100644
--- a/THANKS
+++ b/THANKS
@@ -996,6 +996,10 @@ Dave McNeely <Dave_McNeely@md.northgrum.com>
Eric Malenfant <EMalenfant@interstarinc.com>
Roland Fischer <roli@gugus.com>
Alexander Libman <alibman@baltimore.com>
+Roger Larsson <larssoro@hotmail.com>
+Martin Stack <mstack@cambertx.com>
+Michael Ravits <miquel@bitsmart.com>
+Derek Viljoen <derek@viljoen.com>
I would particularly like to thank Paul Stephenson, who worked with me
at Ericsson. Paul devised the recursive Makefile scheme that
diff --git a/ace/Process_Manager.cpp b/ace/Process_Manager.cpp
index be1f9b9ecbd..32804e2ca96 100644
--- a/ace/Process_Manager.cpp
+++ b/ace/Process_Manager.cpp
@@ -632,6 +632,8 @@ ACE_Process_Manager::terminate (pid_t pid)
{
ACE_TRACE ("ACE_Process_Manager::terminate");
+ ACE_MT (ACE_GUARD_RETURN (ACE_Thread_Mutex, ace_mon, this->lock_, -1));
+
// Check for duplicates and bail out if they're already
// registered...
ssize_t i = this->find_proc (pid);
@@ -646,7 +648,7 @@ ACE_Process_Manager::terminate (pid_t pid)
{
// Save/restore errno.
ACE_Errno_Guard error (errno);
- this->remove (i);
+ this->remove_proc (i);
return 0;
}
else
@@ -659,6 +661,8 @@ ACE_Process_Manager::terminate (pid_t pid,
{
ACE_TRACE ("ACE_Process_Manager::terminate");
+ ACE_MT (ACE_GUARD_RETURN (ACE_Thread_Mutex, ace_mon, this->lock_, -1));
+
// Check for duplicates and bail out if they're already
// registered...
ssize_t i = this->find_proc (pid);
diff --git a/ace/TTY_IO.cpp b/ace/TTY_IO.cpp
index 0e7c2e98419..73e033d2675 100644
--- a/ace/TTY_IO.cpp
+++ b/ace/TTY_IO.cpp
@@ -183,8 +183,8 @@ ACE_TTY_IO::control (Control_Mode cmd,
switch (cmd)
{
case SETPARAMS:
- DCB dcb ;
- dcb.DCBlength = sizeof dcb ;
+ DCB dcb;
+ dcb.DCBlength = sizeof dcb;
::GetCommState (this->get_handle (), &dcb);
switch (arg->baudrate)
@@ -222,48 +222,49 @@ ACE_TTY_IO::control (Control_Mode cmd,
{
case 1:
dcb.StopBits = ONESTOPBIT;
- break ;
+ break;
case 2:
dcb.StopBits = TWOSTOPBITS;
- break ;
+ break;
default:
return -1;
}
if (arg->parityenb)
{
- dcb.fParity = TRUE ;
+ dcb.fParity = TRUE;
if (ACE_OS::strcmp ((char *) arg->paritymode, "ODD") == 0
|| ACE_OS::strcmp ((char *) arg->paritymode, "odd") == 0)
- dcb.Parity = ODDPARITY ;
+ dcb.Parity = ODDPARITY;
else if (ACE_OS::strcmp ((char *) arg->paritymode, "EVEN") == 0
|| ACE_OS::strcmp ((char *) arg->paritymode, "even") == 0)
- dcb.Parity = EVENPARITY ;
+ dcb.Parity = EVENPARITY;
}
else
{
- dcb.fParity = FALSE ;
- dcb.Parity = NOPARITY ;
+ dcb.fParity = FALSE;
+ dcb.Parity = NOPARITY;
}
if (arg->ctsenb) // enable CTS/RTS protocol.
{
- dcb.fOutxCtsFlow = TRUE ;
- dcb.fRtsControl = RTS_CONTROL_HANDSHAKE ;
+ dcb.fOutxCtsFlow = TRUE;
+ dcb.fRtsControl = RTS_CONTROL_HANDSHAKE;
}
else
{
- dcb.fOutxCtsFlow = FALSE ;
- dcb.fRtsControl = RTS_CONTROL_DISABLE ;
+ dcb.fOutxCtsFlow = FALSE;
+ dcb.fRtsControl = RTS_CONTROL_DISABLE;
}
- dcb.fBinary = TRUE ;
+ dcb.fDtrControl = DTR_CONTROL_ENABLE;
+ dcb.fBinary = TRUE;
::SetCommState (this->get_handle (), &dcb);
// 2/13/97 BWF added drop out timer
COMMTIMEOUTS timeouts;
- ::GetCommTimeouts (this->get_handle(), &timeouts) ;
- timeouts.ReadIntervalTimeout = arg->readtimeoutmsec ;
- return ::SetCommTimeouts (this->get_handle (), &timeouts) ;
+ ::GetCommTimeouts (this->get_handle(), &timeouts);
+ timeouts.ReadIntervalTimeout = arg->readtimeoutmsec;
+ return ::SetCommTimeouts (this->get_handle (), &timeouts);
case GETPARAMS:
ACE_NOTSUP_RETURN (-1); // Not yet implemented.
diff --git a/ace/Token.h b/ace/Token.h
index 23fe558cade..7eefa015b12 100644
--- a/ace/Token.h
+++ b/ace/Token.h
@@ -39,28 +39,29 @@ class ACE_Export ACE_Token
// token that is serviced in strict FIFO ordering and that also
// supports (1) recursion and (2) readers/writer semantics.
//
- // = DESCRIPTION This class is a more general-purpose
- // synchronization mechanism than SunOS 5.x mutexes. For example,
- // it implements "recursive mutex" semantics, where a thread that
- // owns the token can reacquire it without deadlocking. If the same
- // thread calls <acquire> multiple times, however, it must call
- // <release> an equal number of times before the token is actually
- // released.
+ // = DESCRIPTION
+ // This class is a more general-purpose synchronization mechanism
+ // than many native OS mutexes. For example, it implements
+ // "recursive mutex" semantics, where a thread that owns the token
+ // can reacquire it without deadlocking. If the same thread calls
+ // <acquire> multiple times, however, it must call <release> an
+ // equal number of times before the token is actually released.
//
- // Threads that are blocked awaiting the token are serviced in
- // strict FIFO order as other threads release the token (Solaris and
- // Pthread mutexes don't strictly enforce an acquisition order).
- // There are two FIFO lists within the class. Write acquires always
- // have higher priority over read acquires. Which means, if you use
- // both write/read operations, care must be taken to avoid
- // starvation on the readers. Notice that the read/write acquire
- // operations do not have the usual semantic of reader/writer locks.
- // Only one reader can acquire the token at a time (which is
- // different from the usual reader/writer locks where several
- // readers can acquire a lock at the same time as long as there is
- // no writer waiting for the lock.) We choose the names 1.) to
- // borrow the semantic to give writers higher priority, and, 2.) to
- // support a common interface over all locking classes in ACE.
+ // Threads that are blocked awaiting the token are serviced in
+ // strict FIFO order as other threads release the token (Solaris
+ // and Pthread mutexes don't strictly enforce an acquisition
+ // order). There are two FIFO lists within the class. Write
+ // acquires always have higher priority over read acquires. Which
+ // means, if you use both write/read operations, care must be
+ // taken to avoid starvation on the readers. Notice that the
+ // read/write acquire operations do not have the usual semantic of
+ // reader/writer locks. Only one reader can acquire the token at
+ // a time (which is different from the usual reader/writer locks
+ // where several readers can acquire a lock at the same time as
+ // long as there is no writer waiting for the lock). We choose
+ // the names to (1) borrow the semantic to give writers higher
+ // priority and (2) support a common interface for all locking
+ // classes in ACE.
public:
// = Initialization and termination.