No Linux, o recv pode retornar 0 no UDP?

Estou apenas limpando algum código que escrevemos há algum tempo e notei que, para um soquete udp, 0 está sendo tratado como a conexão fechada.

Tenho certeza que este foi o resultado de portar o mesmo loop recv da versão tcp equivalente. Mas isso me faz pensar. Pode recv retornar 0 para o udp? no tcp ele sinaliza que a outra extremidade fechou a conexão. O udp não tem o conceito de uma conexão, então pode retornar 0? e se puder, qual é o significado?

Nota: a página man no linux não distingue udp e tcp por um código de retorno zero, o que pode ser o motivo pelo qual mantivemos a verificação no código.

questionAnswers(1)

yourAnswerToTheQuestion