File tree Expand file tree Collapse file tree 4 files changed +17
-1
lines changed Expand file tree Collapse file tree 4 files changed +17
-1
lines changed Original file line number Diff line number Diff line change @@ -46,3 +46,4 @@ m4/ltoptions.m4
46
46
m4 /ltsugar.m4
47
47
m4 /ltversion.m4
48
48
m4 /lt~obsolete.m4
49
+ m4 /pkg.m4
Original file line number Diff line number Diff line change @@ -98,6 +98,8 @@ int main(int argc, char* argv[])
98
98
99
99
send_message (socket, &fr);
100
100
auto fd = read_fd (socket);
101
+ socket->close ();
102
+ delete socket;
101
103
102
104
unsigned int block_seq = 0 ;
103
105
for (auto block_name : fd->nodes ) {
@@ -110,19 +112,29 @@ int main(int argc, char* argv[])
110
112
auto msg = read_reply (tmp_socket);
111
113
if (msg->message != " OK" ) {
112
114
cerr << " [ERROR]: block " << block_name << " doesn't exist" << endl;
115
+ delete msg;
113
116
return EXIT_FAILURE;
114
117
}
118
+ delete msg;
119
+
115
120
tmp_socket->close ();
121
+ delete tmp_socket;
116
122
}
123
+ delete fd;
117
124
118
125
FileDel file_del;
119
126
file_del.file_name = file_name;
127
+ socket = connect (file_hash_key);
120
128
send_message (socket, &file_del);
121
129
auto reply = read_reply (socket);
122
130
if (reply->message != " OK" ) {
123
131
cerr << " [ERROR]: file " << file_name << " does not exist" << endl;
132
+ delete reply;
124
133
return EXIT_FAILURE;
125
134
}
135
+ delete reply;
136
+ socket->close ();
137
+ delete socket;
126
138
/*
127
139
if (reply->message != "OK") {
128
140
{
Original file line number Diff line number Diff line change @@ -24,6 +24,7 @@ void Server::do_connect () {
24
24
// }}}
25
25
// on_accept {{{
26
26
void Server::on_accept (tcp::socket* sock) {
27
+ if (server != nullptr ) delete server;
27
28
server = sock;
28
29
do_read ();
29
30
}
@@ -89,6 +90,8 @@ void Server::read_coroutine (yield_context yield) {
89
90
if (ec == boost::asio::error::eof) {
90
91
logger->info (" Closing server socket to client" );
91
92
server->close ();
93
+ delete server;
94
+ server = nullptr ;
92
95
node->on_disconnect ();
93
96
} else {
94
97
logger->info (" Message arrived error=%s" ,
Original file line number Diff line number Diff line change @@ -26,7 +26,7 @@ class Server: public AsyncChannel {
26
26
void do_read ();
27
27
void read_coroutine (boost::asio::yield_context);
28
28
29
- tcp::socket *server;
29
+ tcp::socket *server = nullptr ;
30
30
tcp::endpoint* endpoint = nullptr ;
31
31
};
32
32
You can’t perform that action at this time.
0 commit comments