F();
- if (eresult != ISC_R_SUCCESS) {
+ switch (eresult) {
+ case ISC_R_EOF:
+ case ISC_R_SHUTTINGDOWN:
+ case ISC_R_CANCELED:
+ case ISC_R_CONNECTIONRESET:
/* Send failed, we need to stop reading too */
if (stream) {
isc_nm_read_stop(handle);
} else {
isc_nm_cancelread(handle);
}
- goto unref;
+ break;
+ case ISC_R_SUCCESS:
+ if (have_expected_csends(atomic_fetch_add(&csends, 1) + 1)) {
+ do_csends_shutdown(loopmgr);
+ }
+ break;
+ default:
+ fprintf(stderr, "%s(%p, %s, %p)\n", __func__, handle,
+ isc_result_totext(eresult), cbarg);
+ assert_int_equal(eresult, ISC_R_SUCCESS);
}
- if (have_expected_csends(atomic_fetch_add(&csends, 1) + 1)) {
- do_csends_shutdown(loopmgr);
- }
-unref:
isc_refcount_decrement(&active_csends);
isc_nmhandle_detach(&sendhandle);
}
case ISC_R_SHUTTINGDOWN:
case ISC_R_CANCELED:
case ISC_R_CONNECTIONRESET:
- case ISC_R_CONNREFUSED:
break;
default:
fprintf(stderr, "%s(%p, %s, %p)\n", __func__, handle,
isc_refcount_decrement(&active_ssends);
switch (eresult) {
+ case ISC_R_CANCELED:
+ case ISC_R_CONNECTIONRESET:
+ case ISC_R_EOF:
+ case ISC_R_SHUTTINGDOWN:
+ break;
case ISC_R_SUCCESS:
if (have_expected_ssends(atomic_fetch_add(&ssends, 1) + 1)) {
do_ssends_shutdown(loopmgr);
}
break;
- case ISC_R_CANCELED:
- break;
default:
fprintf(stderr, "%s(%p, %s, %p)\n", __func__, handle,
isc_result_totext(eresult), cbarg);
F();
switch (eresult) {
+ case ISC_R_CANCELED:
+ case ISC_R_CONNECTIONRESET:
case ISC_R_EOF:
case ISC_R_SHUTTINGDOWN:
- case ISC_R_CANCELED:
break;
case ISC_R_SUCCESS:
memmove(&magic, region->base, sizeof(magic));