int ff_del_syncobj ( /* 1:Function succeeded, 0:Could not delete due to any error */ _SYNC_t sobj /* Sync object tied to the logical drive to be deleted */ ) { #ifdef FF_USE_STATIC_MUTEX return 1; #else int ret = 1; // ret = CloseHandle(sobj); /* Win32 */ // ret = 1; /* uITRON (nothing to do) */ // OSMutexDel(sobj, OS_DEL_ALWAYS, &err); /* uC/OS-II */ // ret = (int)(err == OS_NO_ERR); // vSemaphoreDelete(sobj); /* FreeRTOS */ // ret = 1; if (OS_MutexDelete(sobj) != OS_OK) ret = 0; else free(sobj); return ret; #endif }
Status OS_StorageItemDelete(OS_StorageItem* item_p) { if (OS_NULL == item_p) { return S_INVALID_PTR; } if (0 == --(item_p->owners)) { OS_MutexDelete(item_p->mutex); OS_Free(item_p->data_p); OS_Free(item_p); } return S_OK; }
HAL_Status SSD1306_SPI_DeInit() { HAL_Status sta = HAL_ERROR; if(SSD1306_SPI_ID != SPI_NULL_PORT) { OS_MutexDelete(&SSD1306_SPI_WR_LOCK); sta = HAL_SPI_Close(SSD1306_SPI_ID); if (sta != HAL_OK) COMPONENT_WARN("spi close error error %d\n", sta); sta = HAL_SPI_Deinit(SSD1306_SPI_ID); if(sta != HAL_OK) COMPONENT_WARN("spi deinit error error %d\n", sta); } COMPONENT_TRACK("end\n"); return sta; }
static enum cmd_status cmd_mqtt_deinit_exec(char *cmd) { if (connectData.username.lenstring.len != 0) cmd_free(connectData.username.lenstring.data); if (connectData.password.lenstring.len != 0) cmd_free(connectData.password.lenstring.data); cmd_free(send_buf); cmd_free(recv_buf); cmd_free(client_name); OS_MutexDelete(&lock); connectData = (MQTTPacket_connectData)MQTTPacket_connectData_initializer; return CMD_STATUS_OK; }
static enum cmd_status cmd_mqtt_init_exec(char *cmd) { int32_t cnt; uint32_t buf_size; uint32_t alive_interval; uint32_t clean; char *tmp; /* get param */ cnt = cmd_sscanf(cmd, "bufsize=%u alive=%u clean=%u", &buf_size, &alive_interval, &clean); /* check param */ if (cnt != 3) { CMD_ERR("invalid param number %d\n", cnt); return CMD_STATUS_INVALID_ARG; } if (clean > 1) { CMD_ERR("invalid clean %d\n", clean); return CMD_STATUS_INVALID_ARG; } if (OS_MutexCreate(&lock) != OS_OK) return CMD_STATUS_FAIL;; if ((tmp = cmd_strrchr(cmd, '\"')) == NULL) return CMD_STATUS_INVALID_ARG; *tmp = '\0'; if ((tmp = cmd_strchr(cmd, '\"')) == NULL) return CMD_STATUS_INVALID_ARG; tmp++; client_name = cmd_malloc(cmd_strlen(tmp) + 1); cmd_memcpy(client_name, tmp, cmd_strlen(tmp) + 1); CMD_DBG("client name = %s\n", client_name); connectData.clientID.cstring = client_name; connectData.keepAliveInterval = alive_interval; connectData.cleansession = clean; send_buf = cmd_malloc(buf_size); if (send_buf == NULL) { CMD_ERR("no memory\n"); OS_MutexDelete(&lock); return CMD_STATUS_FAIL; } recv_buf = cmd_malloc(buf_size); if (recv_buf == NULL) { cmd_free(send_buf); CMD_ERR("no memory\n"); OS_MutexDelete(&lock); return CMD_STATUS_FAIL; } NewNetwork(&network); MQTTClient(&client, &network, 6000, send_buf, buf_size, recv_buf, buf_size); return CMD_STATUS_OK; }