diff options
author | rrs <rrs@FreeBSD.org> | 2007-07-02 19:22:22 +0000 |
---|---|---|
committer | rrs <rrs@FreeBSD.org> | 2007-07-02 19:22:22 +0000 |
commit | a400d04306bce1d90fa1fb76eb5ed9c3977a1c32 (patch) | |
tree | 1af5bea59680545d915388b260052ee36e2b1ab6 /sys/netinet/sctp_input.h | |
parent | bb6f1c3d9ba9c5a3452440ffdafda555b482e1b2 (diff) | |
download | FreeBSD-src-a400d04306bce1d90fa1fb76eb5ed9c3977a1c32.zip FreeBSD-src-a400d04306bce1d90fa1fb76eb5ed9c3977a1c32.tar.gz |
- Consolidate the code that free's chunks to actually also
call the sctp_free_remote_address() function.
- Assure that when we allocate a chunk the whoTo is NULL,
also when we free it and place it into the cache we NULL
it (that way the consolidation code will always work).
- Fix a small race, when a empty data holder is left on the stream
out queue, and both sides do a shutdown, the empty data holder
would prevent us from sending a SHUTDOWN-ACK and at the same time we
never would cleanup the empty holder (since nothing was ever in queue).
We now add a utility function that a) cleans up empty holders and
b) properly determines if there are still pending data chunks on
the stream out wheel.
Approved by: re@freebsd.org (Ken Smith)
Diffstat (limited to 'sys/netinet/sctp_input.h')
-rw-r--r-- | sys/netinet/sctp_input.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/sys/netinet/sctp_input.h b/sys/netinet/sctp_input.h index 3de05fe..01a67c6 100644 --- a/sys/netinet/sctp_input.h +++ b/sys/netinet/sctp_input.h @@ -50,5 +50,8 @@ void sctp_reset_in_stream(struct sctp_tcb *stcb, int number_entries, uint16_t * list); + +int sctp_is_there_unsent_data(struct sctp_tcb *stcb); + #endif #endif |