[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
certi libCERTI/PrettyDebug.cc libCERTI/SocketTC...
From: |
certi-cvs |
Subject: |
certi libCERTI/PrettyDebug.cc libCERTI/SocketTC... |
Date: |
Tue, 27 Nov 2007 08:55:55 +0000 |
CVSROOT: /sources/certi
Module name: certi
Changes by: Eric NOULARD <erk> 07/11/27 08:55:55
Modified files:
libCERTI : PrettyDebug.cc SocketTCP.hh SocketUN.hh
SocketUN.cc SocketTCP.cc
libRTI : RTIambPrivateRefs.cc RTIambassador.cc
RTIambPrivateRefs.hh
Log message:
Remove some more exit() calls.
See bug #21648 : Win32 port contains exit() when error starting rtia.exe
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/certi/libCERTI/PrettyDebug.cc?cvsroot=certi&r1=4.4&r2=4.5
http://cvs.savannah.gnu.org/viewcvs/certi/libCERTI/SocketTCP.hh?cvsroot=certi&r1=3.17&r2=3.18
http://cvs.savannah.gnu.org/viewcvs/certi/libCERTI/SocketUN.hh?cvsroot=certi&r1=3.12&r2=3.13
http://cvs.savannah.gnu.org/viewcvs/certi/libCERTI/SocketUN.cc?cvsroot=certi&r1=3.17&r2=3.18
http://cvs.savannah.gnu.org/viewcvs/certi/libCERTI/SocketTCP.cc?cvsroot=certi&r1=3.18&r2=3.19
http://cvs.savannah.gnu.org/viewcvs/certi/libRTI/RTIambPrivateRefs.cc?cvsroot=certi&r1=3.6&r2=3.7
http://cvs.savannah.gnu.org/viewcvs/certi/libRTI/RTIambassador.cc?cvsroot=certi&r1=3.58&r2=3.59
http://cvs.savannah.gnu.org/viewcvs/certi/libRTI/RTIambPrivateRefs.hh?cvsroot=certi&r1=3.3&r2=3.4
Patches:
Index: libCERTI/PrettyDebug.cc
===================================================================
RCS file: /sources/certi/certi/libCERTI/PrettyDebug.cc,v
retrieving revision 4.4
retrieving revision 4.5
diff -u -b -r4.4 -r4.5
--- libCERTI/PrettyDebug.cc 31 Oct 2007 10:30:21 -0000 4.4
+++ libCERTI/PrettyDebug.cc 27 Nov 2007 08:55:54 -0000 4.5
@@ -19,7 +19,7 @@
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
// USA
//
-// $Id: PrettyDebug.cc,v 4.4 2007/10/31 10:30:21 erk Exp $
+// $Id: PrettyDebug.cc,v 4.5 2007/11/27 08:55:54 erk Exp $
// ----------------------------------------------------------------------------
@@ -145,7 +145,7 @@
{
PrettyDebug::Print(PrettyDebug::defaultOutputStream, "",
"Error in pgCDebug constructor, no Name specified.\n");
- exit(EXIT_FAILURE);
+ Name = "NoName";
}
LEnvVar = strdup(Name);
@@ -274,4 +274,4 @@
#endif // NDEBUG
-// $Id: PrettyDebug.cc,v 4.4 2007/10/31 10:30:21 erk Exp $
+// $Id: PrettyDebug.cc,v 4.5 2007/11/27 08:55:54 erk Exp $
Index: libCERTI/SocketTCP.hh
===================================================================
RCS file: /sources/certi/certi/libCERTI/SocketTCP.hh,v
retrieving revision 3.17
retrieving revision 3.18
diff -u -b -r3.17 -r3.18
--- libCERTI/SocketTCP.hh 20 Nov 2007 09:04:54 -0000 3.17
+++ libCERTI/SocketTCP.hh 27 Nov 2007 08:55:54 -0000 3.18
@@ -56,7 +56,7 @@
void createTCPClient(in_port_t port, in_addr_t addr) throw
(NetworkError);
void createTCPServer(in_port_t port = 0, in_addr_t addr = INADDR_ANY)
throw (NetworkError);
- int accept(SocketTCP *serveur);
+ int accept(SocketTCP *serveur) throw (NetworkError);
virtual void send(const unsigned char *, size_t) throw
(NetworkError, NetworkSignal);
virtual void receive(void *Buffer, unsigned long Size) throw
(NetworkError, NetworkSignal);
Index: libCERTI/SocketUN.hh
===================================================================
RCS file: /sources/certi/certi/libCERTI/SocketUN.hh,v
retrieving revision 3.12
retrieving revision 3.13
diff -u -b -r3.12 -r3.13
--- libCERTI/SocketUN.hh 20 Nov 2007 09:04:53 -0000 3.12
+++ libCERTI/SocketUN.hh 27 Nov 2007 08:55:54 -0000 3.13
@@ -78,7 +78,7 @@
void receive(const unsigned char *, size_t) throw (NetworkError,
NetworkSignal);
protected:
- void error(const char *);
+ void error(const char *) throw (NetworkError);
#ifdef _WIN32
SOCKET _socket_un;
Index: libCERTI/SocketUN.cc
===================================================================
RCS file: /sources/certi/certi/libCERTI/SocketUN.cc,v
retrieving revision 3.17
retrieving revision 3.18
diff -u -b -r3.17 -r3.18
--- libCERTI/SocketUN.cc 20 Nov 2007 09:04:54 -0000 3.17
+++ libCERTI/SocketUN.cc 27 Nov 2007 08:55:54 -0000 3.18
@@ -346,15 +346,15 @@
// ----------------------------------------------------------------------------
//! error.
-void SocketUN::error(const char *msg)
+void SocketUN::error(const char *msg) throw (NetworkError)
{
-char m[100] ;
+ std::stringstream smsg;
-m[0] = 0 ;
-strcat(m, "SocketUN: ");
-strcat(m, msg);
-perror(m);
-exit(-1);
+ smsg << "SocketUN::error <"
+ << strerror(errno)
+ << "> msg = <"
+ << msg <<">";
+ throw NetworkError(smsg.str().c_str());
}
// ----------------------------------------------------------------------------
Index: libCERTI/SocketTCP.cc
===================================================================
RCS file: /sources/certi/certi/libCERTI/SocketTCP.cc,v
retrieving revision 3.18
retrieving revision 3.19
diff -u -b -r3.18 -r3.19
--- libCERTI/SocketTCP.cc 20 Nov 2007 09:04:54 -0000 3.18
+++ libCERTI/SocketTCP.cc 27 Nov 2007 08:55:54 -0000 3.19
@@ -17,7 +17,7 @@
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
// USA
//
-// $Id: SocketTCP.cc,v 3.18 2007/11/20 09:04:54 erk Exp $
+// $Id: SocketTCP.cc,v 3.19 2007/11/27 08:55:54 erk Exp $
// ----------------------------------------------------------------------------
#ifdef _WIN32
@@ -177,8 +177,9 @@
}
// ----------------------------------------------------------------------------
-int SocketTCP::accept(SocketTCP *serveur)
+int SocketTCP::accept(SocketTCP *serveur) throw (NetworkError)
{
+ std::stringstream msg;
struct protoent *TCPent ;
int optval = 1 ;
@@ -196,8 +197,9 @@
_socket_tcp = ::accept(serveur->_socket_tcp, (sockaddr*)&_sockIn, &l);
if (_socket_tcp < 0)
{
- perror("SocketTCP: Accept");
- exit(-1);
+ msg << "SocketTCP: Accept Failed"
+ << "<" << strerror(errno) <<">";
+ throw NetworkError(msg.str().c_str());
}
// Set the TCP_NODELAY option(Server Side)
@@ -617,4 +619,4 @@
} // namespace
-// $Id: SocketTCP.cc,v 3.18 2007/11/20 09:04:54 erk Exp $
+// $Id: SocketTCP.cc,v 3.19 2007/11/27 08:55:54 erk Exp $
Index: libRTI/RTIambPrivateRefs.cc
===================================================================
RCS file: /sources/certi/certi/libRTI/RTIambPrivateRefs.cc,v
retrieving revision 3.6
retrieving revision 3.7
diff -u -b -r3.6 -r3.7
--- libRTI/RTIambPrivateRefs.cc 16 Nov 2007 15:04:22 -0000 3.6
+++ libRTI/RTIambPrivateRefs.cc 27 Nov 2007 08:55:54 -0000 3.7
@@ -19,12 +19,13 @@
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
// USA
//
-// $Id: RTIambPrivateRefs.cc,v 3.6 2007/11/16 15:04:22 rousse Exp $
+// $Id: RTIambPrivateRefs.cc,v 3.7 2007/11/27 08:55:54 erk Exp $
// ----------------------------------------------------------------------------
#include <config.h>
#include "RTIambPrivateRefs.hh"
#include "PrettyDebug.hh"
+#include <sstream>
namespace {
PrettyDebug D("LIBRTI", __FILE__);
@@ -46,10 +47,11 @@
// ----------------------------------------------------------------------------
void
-RTIambPrivateRefs::leave(const char *msg)
+RTIambPrivateRefs::leave(const char *msg) throw (RTIinternalError)
{
- std::cout << "LibRTI:: " << msg << std::endl ;
- exit(EXIT_FAILURE);
+ std::stringstream smsg;
+ smsg << "RTI called leave because <" <<msg<<">";
+ throw RTIinternalError(smsg.str().c_str());
}
// ----------------------------------------------------------------------------
@@ -542,4 +544,4 @@
}
}
-// $Id: RTIambPrivateRefs.cc,v 3.6 2007/11/16 15:04:22 rousse Exp $
+// $Id: RTIambPrivateRefs.cc,v 3.7 2007/11/27 08:55:54 erk Exp $
Index: libRTI/RTIambassador.cc
===================================================================
RCS file: /sources/certi/certi/libRTI/RTIambassador.cc,v
retrieving revision 3.58
retrieving revision 3.59
diff -u -b -r3.58 -r3.59
--- libRTI/RTIambassador.cc 26 Nov 2007 20:16:50 -0000 3.58
+++ libRTI/RTIambassador.cc 27 Nov 2007 08:55:54 -0000 3.59
@@ -19,7 +19,7 @@
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
// USA
//
-// $Id: RTIambassador.cc,v 3.58 2007/11/26 20:16:50 erk Exp $
+// $Id: RTIambassador.cc,v 3.59 2007/11/27 08:55:54 erk Exp $
// ----------------------------------------------------------------------------
@@ -41,6 +41,7 @@
#include <iostream>
#include <signal.h>
#include <cassert>
+#include <cerrno>
using std::cout ;
using std::cerr ;
@@ -96,6 +97,7 @@
throw (MemoryExhausted, RTIinternalError)
{
PrettyDebug::setFederateName( "Federate-process" );
+ std::stringstream msg;
privateRefs = new RTIambPrivateRefs();
@@ -129,10 +131,11 @@
&pi )) // Pointer to
PROCESS_INFORMATION structure.
{
- printf("Error code : %d\n", GetLastError());
- errno = GetLastError();
- perror("CreateProcess");
- throw RTIinternalError( "CreateProcess Error: Cannot connect
to RTIA.exe" );
+ msg << "CreateProcess - GetLastError()=<"
+ << GetLastError() <<"> "
+ << "Cannot connect to RTIA.exe";
+ //perror("CreateProcess");
+ throw RTIinternalError( msg.c_str);
}
privateRefs->handle_RTIA = pi.hProcess;
@@ -149,14 +152,18 @@
case 0: // child process (RTIA).
execlp(rtiacall, NULL);
- perror("execlp");
-
- cerr << "Could not launch RTIA process." << endl
- << "Maybe RTIA is not in search PATH environment." << endl ;
-
- exit(-1);
+ msg << "Could not launch RTIA process (execlp): "
+ << strerror(errno)
+ << endl
+ << "Maybe RTIA is not in search PATH environment.";
+ throw RTIinternalError(msg.str().c_str());
default: // father process (Federe).
+ // We sleep before trying to connect to the socket
+ // our child RTIA process should have open
+ // FIXME EN: this is poorly designed because
+ // we don't know if the child ever get a chance
+ // to be schedule by the Operating System
sleep(1);
if( privateRefs->socketUn->connectUN(privateRefs->pid_RTIA) )
@@ -2872,4 +2879,4 @@
privateRefs->executeService(&req, &rep);
}
-// $Id: RTIambassador.cc,v 3.58 2007/11/26 20:16:50 erk Exp $
+// $Id: RTIambassador.cc,v 3.59 2007/11/27 08:55:54 erk Exp $
Index: libRTI/RTIambPrivateRefs.hh
===================================================================
RCS file: /sources/certi/certi/libRTI/RTIambPrivateRefs.hh,v
retrieving revision 3.3
retrieving revision 3.4
diff -u -b -r3.3 -r3.4
--- libRTI/RTIambPrivateRefs.hh 31 Oct 2007 10:30:24 -0000 3.3
+++ libRTI/RTIambPrivateRefs.hh 27 Nov 2007 08:55:55 -0000 3.4
@@ -19,7 +19,7 @@
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
// USA
//
-// $Id: RTIambPrivateRefs.hh,v 3.3 2007/10/31 10:30:24 erk Exp $
+// $Id: RTIambPrivateRefs.hh,v 3.4 2007/11/27 08:55:55 erk Exp $
// ----------------------------------------------------------------------------
#include "RTI.hh"
@@ -36,7 +36,7 @@
void processException(Message *);
void executeService(Message *requete, Message *reponse);
- void leave(const char *msg);
+ void leave(const char *msg) throw (RTIinternalError);
#ifdef _WIN32
HANDLE handle_RTIA;
@@ -55,4 +55,4 @@
SocketUN *socketUn ;
};
-// $Id: RTIambPrivateRefs.hh,v 3.3 2007/10/31 10:30:24 erk Exp $
+// $Id: RTIambPrivateRefs.hh,v 3.4 2007/11/27 08:55:55 erk Exp $
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- certi libCERTI/PrettyDebug.cc libCERTI/SocketTC...,
certi-cvs <=