forked from Mirrors/freeswitch
Mon May 19 11:53:23 EDT 2008 Pekka Pessi <first.last@nokia.com>
* tport_type_tcp.c: report EPIPE when transport gets closed after ping-pong timeout git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@8590 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
parent
10aa8c19ae
commit
7619634f7e
@ -1 +1 @@
|
||||
Wed May 21 00:25:55 CEST 2008
|
||||
Sat May 24 23:03:50 EDT 2008
|
||||
|
@ -226,7 +226,7 @@ tag_typedef_t tptag_pingpong = UINTTAG_TYPEDEF(pingpong);
|
||||
* If true, respond with PONG to PING. Default value is 0 (false).
|
||||
*
|
||||
* If set, the ping-pong protocol is used on TCP connections. If a ping (at
|
||||
* least 4 whitespace characters) is received within messages, a pong
|
||||
* least 4 whitespace characters) is received between messages, a pong
|
||||
* (CR-LF) is sent in response.
|
||||
*
|
||||
* Use with tport_tcreate(), tport_tbind(), tport_set_params(), nua_create(),
|
||||
|
@ -277,7 +277,8 @@ int tport_recv_stream(tport_t *self)
|
||||
if (n <= 0)
|
||||
return (int)n;
|
||||
|
||||
SU_DEBUG_7(("%s(%p): received keepalive\n", __func__, (void *)self));
|
||||
SU_DEBUG_7(("%s(%p): received keepalive (total %u)\n", __func__,
|
||||
(void *)self, self->tp_ping));
|
||||
|
||||
N -= n, self->tp_ping += n;
|
||||
|
||||
@ -449,7 +450,9 @@ void tport_keepalive_timer(tport_t *self, su_time_t now)
|
||||
__func__, (void *)self,
|
||||
"closing connection", TPN_ARGS(self->tp_name),
|
||||
" because of PONG timeout"));
|
||||
tport_close(self);
|
||||
tport_error_report(self, EPIPE, NULL);
|
||||
if (!self->tp_closed)
|
||||
tport_close(self);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user