mirror of
https://github.com/znc/znc.git
synced 2026-05-02 03:22:33 +02:00
Set errno in CListener::Listen()
CSocket doesn't necessarily set errno, but the callers of Listen() assume an error message in errno. Signed-off-by: Uli Schlachter <psychon@znc.in>
This commit is contained in:
@@ -16,6 +16,7 @@ CListener::~CListener() {
|
||||
|
||||
bool CListener::Listen() {
|
||||
if (!m_uPort || m_pListener) {
|
||||
errno = EINVAL;
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -29,6 +30,10 @@ bool CListener::Listen() {
|
||||
}
|
||||
#endif
|
||||
|
||||
// If e.g. getaddrinfo() fails, the following might not set errno.
|
||||
// Make sure there is a consistent error message, not something random
|
||||
// which might even be "Error: Success".
|
||||
errno = EINVAL;
|
||||
return CZNC::Get().GetManager().ListenHost(m_uPort, "_LISTENER", m_sBindHost, bSSL, SOMAXCONN,
|
||||
m_pListener, 0, m_eAddr);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user