avoid sending error events when the return value is enough
This commit is contained in:
parent
af49a528d3
commit
374495c740
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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());
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user