static void iotjs_spi_close_worker(uv_work_t* work_req) { SPI_WORKER_INIT; if (!iotjs_spi_close(spi)) { req_data->result = false; return; } req_data->result = true; }
/* * SPI worker function */ static void spi_worker(uv_work_t* work_req) { iotjs_periph_reqwrap_t* req_wrap = (iotjs_periph_reqwrap_t*)(iotjs_reqwrap_from_request( (uv_req_t*)work_req)); iotjs_spi_t* spi = (iotjs_spi_t*)req_wrap->data; switch (req_wrap->op) { case kSpiOpClose: { req_wrap->result = iotjs_spi_close(spi); break; } case kSpiOpOpen: { req_wrap->result = iotjs_spi_open(spi); break; } case kSpiOpTransferArray: case kSpiOpTransferBuffer: { req_wrap->result = iotjs_spi_transfer(spi); break; } default: IOTJS_ASSERT(!"Invalid Operation"); } }