static void http_data_callback(lcb_http_request_t req, lcb_t instance, const void *cookie, lcb_error_t err, const lcb_http_resp_t *resp) { pycbc_HttpResult *htres = (pycbc_HttpResult*)cookie; htres->htcode = resp->v.v0.status; htres->rc = err; PYCBC_CONN_THR_END(htres->parent); get_headers(htres, resp); if (err != LCB_SUCCESS || resp->v.v0.status < 200 || resp->v.v0.status > 299) { lcbex_vrow_free(htres->rctx); htres->rctx = NULL; } if (htres->rctx) { lcbex_vrow_feed(htres->rctx, resp->v.v0.bytes, resp->v.v0.nbytes); maybe_invoke_async_callback(htres); } else if (resp->v.v0.bytes) { add_data(htres, resp->v.v0.bytes, resp->v.v0.nbytes); } if (!htres->parent->nremaining) { lcb_breakout(instance); } PYCBC_CONN_THR_BEGIN(htres->parent); (void)req; (void)instance; }
PHP_COUCHBASE_LOCAL void pcbc_stop_loop(struct _php_couchbase_res *res) { lcb_breakout(res->handle); }
static void dummy_error_callback(lcb_t instance,lcb_error_t error, const char *errinfo) { lcb_breakout(instance); (void)error; (void)errinfo; }
void plcb_evloop_wait_unref(PLCB_t *obj) { if (obj->wait_for_kv == 0 && obj->wait_for_views == 0) { lcb_breakout(obj->instance); } }