Fix leak of second+ receive/send object.

This commit is contained in:
Ian Gulliver
2016-02-25 15:17:45 -08:00
parent 4f14845c75
commit 3816be8b3d
2 changed files with 6 additions and 0 deletions

View File

@@ -144,6 +144,9 @@ void receive_new(int fd, void *unused, struct peer *on_close) {
receive->parser_wrapper = receive_autodetect_parse; receive->parser_wrapper = receive_autodetect_parse;
receive->prev = NULL; receive->prev = NULL;
receive->next = receive_head; receive->next = receive_head;
if (receive->next) {
receive->next->prev = receive;
}
receive_head = receive; receive_head = receive;
peer_epoll_add((struct peer *) receive, EPOLLIN); peer_epoll_add((struct peer *) receive, EPOLLIN);

View File

@@ -126,6 +126,9 @@ void send_new(int fd, struct serializer *serializer, struct peer *on_close) {
send->serializer = serializer; send->serializer = serializer;
send->prev = NULL; send->prev = NULL;
send->next = serializer->send_head; send->next = serializer->send_head;
if (send->next) {
send->next->prev = send;
}
serializer->send_head = send; serializer->send_head = send;
peer_epoll_add((struct peer *) send, EPOLLIN); peer_epoll_add((struct peer *) send, EPOLLIN);