pxmlw6n2f/Gazebo_Distributed_MPI/gazebo/server_main.cc

69 lines
1.8 KiB
C++

/*
* Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
#include "gazebo/common/Exception.hh"
#include "gazebo/util/LogRecord.hh"
#include "gazebo/common/Console.hh"
#include "gazebo/Server.hh"
#include <mpi.h> // Added by zhangshuai 2019.04.22 for MPI
//////////////////////////////////////////////////
int main(int argc, char **argv)
{
// Added by zhangshuai 2019.04.22 for MPI ----Begin
//int myid;
MPI_Init(&argc, &argv);
// MPI_Comm_rank(MPI_COMM_WORLD,&myid);
// std::cerr<<myid<<"\n";
// Added by zhangshuai 2019.04.22 for MPI ----End
gazebo::Server *server = NULL;
try
{
// Initialize the informational logger. This will log warnings, and
// errors.
gzLogInit("server-", "gzserver.log");
// Initialize the data logger. This will log state information.
gazebo::util::LogRecord::Instance()->Init("gzserver");
server = new gazebo::Server();
if (!server->ParseArgs(argc, argv))
return -1;
server->Run();
server->Fini();
delete server;
}
catch (gazebo::common::Exception &_e)
{
_e.Print();
server->Fini();
delete server;
MPI_Finalize(); // Added by zhangshuai 2019.04.22 for MPI
return -1;
}
MPI_Finalize(); // Added by zhangshuai 2019.04.22 for MPI
return 0;
}