HomeFreeBSD

Fix tcp_socket_dead() for FreeBSD

Description

Fix tcp_socket_dead() for FreeBSD

The FreeBSD port of tvheadend couldn't stream Live TV, and debug
log shows webui judged the peer socket closed immediately after
starting streaming:

2018-04-15 06:30:04.996 [ DEBUG]:webui: Start streaming /stream/mux/c4bc67bdaa13457e33740ca883cc4d75?ticket=7D1B56AD0E434C5F7EBFA4677A7FBE4C94097974
2018-04-15 06:30:04.996 [ DEBUG]:webui: Stop streaming /stream/mux/c4bc67bdaa13457e33740ca883cc4d75?ticket=7D1B56AD0E434C5F7EBFA4677A7FBE4C94097974, client hung up

It looks tcp_socket_dead() misunderstood the zero-return from recv().
For the FreeBSD, recv() might return zero for alive sockets which
have nothing to read.

Submitted by: Jongsung Kim <jongsung.kim@gmail.com>
Obtained from: https://github.com/tvheadend/tvheadend/pull/1112

Details

Provenance
deckeAuthored on
Parents
rP467704: databases/pgpool-II-36: Update from 3.6.9 to 3.6.10
Branches
Unknown
Tags
Unknown