Skip to content

Commit c6a36e9

Browse files
committed
[TSAR, Net, Windows] Implement TCP server to run TSAR on OS Windows.
1 parent e8636f7 commit c6a36e9

File tree

2 files changed

+21
-19
lines changed

2 files changed

+21
-19
lines changed

tools/tsar-server/CMakeLists.txt

Lines changed: 14 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -32,24 +32,22 @@ set_target_properties(TSARServer PROPERTIES
3232

3333
install(TARGETS TSARServer
3434
LIBRARY DESTINATION lib
35-
RUNTIME DESTINATION lib
35+
RUNTIME DESTINATION bin
3636
ARCHIVE DESTINATION lib)
3737

38-
if (UNIX)
39-
add_executable(tsar-server main.cpp)
38+
add_executable(tsar-server main.cpp)
4039

41-
add_dependencies(tsar-server TSARServer)
42-
if(NOT PACKAGE_LLVM)
43-
add_dependencies(tsar-server ${LLVM_LIBS})
44-
endif()
45-
target_link_libraries(tsar-server TSARServer ${LLVM_LIBS} BCL::CSocket TSARServer)
46-
set_target_properties(tsar-server PROPERTIES
47-
COMPILE_DEFINITIONS BCL_EXPORTING
48-
FOLDER "${TSAR_SERVER_FOLDER}")
40+
add_dependencies(tsar-server TSARServer)
41+
if(NOT PACKAGE_LLVM)
42+
add_dependencies(tsar-server ${LLVM_LIBS})
43+
endif()
44+
target_link_libraries(tsar-server TSARServer ${LLVM_LIBS} BCL::CSocket TSARServer)
45+
set_target_properties(tsar-server PROPERTIES
46+
COMPILE_DEFINITIONS BCL_EXPORTING
47+
FOLDER "${TSAR_SERVER_FOLDER}")
4948

50-
# Specify RPATH to look up for necessary shared libraries after installation.
51-
set_target_properties(tsar-server PROPERTIES
52-
INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib")
49+
# Specify RPATH to look up for necessary shared libraries after installation.
50+
set_target_properties(tsar-server PROPERTIES
51+
INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib")
5352

54-
install(TARGETS tsar-server DESTINATION bin)
55-
endif()
53+
install(TARGETS tsar-server DESTINATION bin)

tools/tsar-server/main.cpp

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -75,14 +75,14 @@ namespace {
7575
class Log {
7676
public:
7777
Log() {}
78-
78+
7979
~Log() {
8080
mLogFile << "\n ]\n}\n";
8181
mLogFile.flush();
8282
}
8383

8484
inline void init(llvm::StringRef App, llvm::StringRef Date,
85-
llvm::StringRef Version, std::fstream &&LogFile) {
85+
llvm::StringRef Version, std::fstream &&LogFile) {
8686
mLogFile = std::move(LogFile);
8787
mLogFile << "{\n " << R"("Application": )" << '"' << App.data() << '"';
8888
mLogFile << ",\n " << R"("Date": )" << '"' << Date.data() << '"';
@@ -146,7 +146,7 @@ int main(int Argc, char **Argv) {
146146
Status[net::Socket::ServerPort] = 0;
147147
Status[net::Socket::ClientPort] = 0;
148148
L.init(Argv[0], Status[net::Socket::Date], Status[net::Socket::TSARVersion],
149-
std::move(LogFile));
149+
std::move(LogFile));
150150
L.print(Status, ",\n \"Status\": [\n ");
151151
bcl::net::startServer("localhost", 0, 0,
152152
[](bcl::net::SocketStatus StatusID, const bcl::net::Connection &Connection){
@@ -182,6 +182,10 @@ int main(int Argc, char **Argv) {
182182
Status[net::Socket::Status] = "close";
183183
Status[net::Socket::Message] = "socket is closed";
184184
break;
185+
case bcl::net::SocketStatus::InitializeError:
186+
Status[net::Socket::Status] = "error";
187+
Status[net::Socket::Message] = "unable to initialize socket library";
188+
break;
185189
case bcl::net::SocketStatus::CreateError:
186190
Status[net::Socket::Status] = "error";
187191
Status[net::Socket::Message] = "unable to create socket";

0 commit comments

Comments
 (0)