diff --git a/src/uvw/signal.hpp b/src/uvw/signal.hpp index a1308e1c..98086f62 100644 --- a/src/uvw/signal.hpp +++ b/src/uvw/signal.hpp @@ -30,6 +30,8 @@ public: void start(int signum) { invoke(uv_signal_start, get(), &startCallback, signum); } void stop() { invoke(&uv_signal_stop, get()); } + + int signal() const noexcept { return get()->signum; } }; diff --git a/src/uvw/tcp.hpp b/src/uvw/tcp.hpp index a059c67e..51c9a1d7 100644 --- a/src/uvw/tcp.hpp +++ b/src/uvw/tcp.hpp @@ -35,15 +35,11 @@ class Tcp final: public Stream { int err = std::forward(f)(get(), reinterpret_cast(&ssto), &len); - if(err) { - publish(ErrorEvent{err}); - } else { + if(!err) { typename Traits::Type *aptr = reinterpret_cast(&ssto); err = Traits::NameFunc(aptr, name, len); - if(err) { - publish(ErrorEvent{err}); - } else { + if(!err) { addr = { std::string{name}, ntohs(aptr->sin_port) }; } }