mirror of
https://github.com/clearml/dropbear
synced 2025-02-12 07:25:30 +00:00
Add cleanup
--HG-- branch : fastopen
This commit is contained in:
parent
31e379c300
commit
89c0b2a6d8
@ -281,6 +281,8 @@ void session_cleanup() {
|
|||||||
other session state is freed. */
|
other session state is freed. */
|
||||||
remove_all_listeners();
|
remove_all_listeners();
|
||||||
|
|
||||||
|
remove_connect_pending();
|
||||||
|
|
||||||
while (!isempty(&ses.writequeue)) {
|
while (!isempty(&ses.writequeue)) {
|
||||||
buf_free(dequeue(&ses.writequeue));
|
buf_free(dequeue(&ses.writequeue));
|
||||||
}
|
}
|
||||||
|
7
netio.c
7
netio.c
@ -177,6 +177,13 @@ struct dropbear_progress_connection *connect_remote(const char* remotehost, cons
|
|||||||
return c;
|
return c;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void remove_connect_pending() {
|
||||||
|
while (ses.conn_pending.first) {
|
||||||
|
struct dropbear_progress_connection *c = ses.conn_pending.first->item;
|
||||||
|
remove_connect(c, ses.conn_pending.first);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void set_connect_fds(fd_set *writefd) {
|
void set_connect_fds(fd_set *writefd) {
|
||||||
m_list_elem *iter;
|
m_list_elem *iter;
|
||||||
|
4
netio.h
4
netio.h
@ -30,8 +30,12 @@ typedef void(*connect_callback)(int result, int sock, void* data, const char* er
|
|||||||
struct dropbear_progress_connection * connect_remote (const char* remotehost, const char* remoteport,
|
struct dropbear_progress_connection * connect_remote (const char* remotehost, const char* remoteport,
|
||||||
connect_callback cb, void *cb_data);
|
connect_callback cb, void *cb_data);
|
||||||
|
|
||||||
|
/* Sets up for select() */
|
||||||
void set_connect_fds(fd_set *writefd);
|
void set_connect_fds(fd_set *writefd);
|
||||||
|
/* Handles ready sockets after select() */
|
||||||
void handle_connect_fds(fd_set *writefd);
|
void handle_connect_fds(fd_set *writefd);
|
||||||
|
/* Cleanup */
|
||||||
|
void remove_connect_pending();
|
||||||
|
|
||||||
/* Doesn't actually stop the connect, but adds a dummy callback instead */
|
/* Doesn't actually stop the connect, but adds a dummy callback instead */
|
||||||
void cancel_connect(struct dropbear_progress_connection *c);
|
void cancel_connect(struct dropbear_progress_connection *c);
|
||||||
|
Loading…
Reference in New Issue
Block a user