avoid sending error events when the return value is enough

This commit is contained in:
Michele Caini 2022-04-07 22:45:54 +02:00
parent af49a528d3
commit 374495c740
3 changed files with 15 additions and 13 deletions

View File

@ -15,16 +15,12 @@ UVW_INLINE int check_handle::init() {
return leak_if(uv_check_init(parent().raw(), raw()));
}
UVW_INLINE void check_handle::start() {
if(auto err = uv_check_start(raw(), &start_callback); err != 0) {
publish(error_event{err});
}
UVW_INLINE int check_handle::start() {
return uv_check_start(raw(), &start_callback);
}
UVW_INLINE void check_handle::stop() {
if(auto err = uv_check_stop(raw()); err != 0) {
publish(error_event{err});
}
UVW_INLINE int check_handle::stop() {
return uv_check_stop(raw());
}
} // namespace uvw

View File

@ -35,13 +35,16 @@ public:
*
* A check event will be emitted once per loop iteration, right after
* polling for I/O.
*
* @return Underlying return value.
*/
void start();
int start();
/**
* @brief Stops the handle.
* @return Underlying return value.
*/
void stop();
int stop();
};
} // namespace uvw

View File

@ -11,14 +11,17 @@ TEST(Check, StartAndStop) {
handle->on<uvw::check_event>([&checkCheckEvent](const auto &, auto &hndl) {
ASSERT_FALSE(checkCheckEvent);
checkCheckEvent = true;
hndl.stop();
ASSERT_EQ(0, hndl.stop());
hndl.close();
ASSERT_TRUE(hndl.closing());
});
handle->start();
ASSERT_EQ(0, handle->start());
ASSERT_TRUE(handle->active());
ASSERT_FALSE(handle->closing());