Exemplo n.º 1
0
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
}
Exemplo n.º 2
0
Arquivo: osal.c Projeto: PheeL79/diOS
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;
}
Exemplo n.º 3
0
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;
}
Exemplo n.º 4
0
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;
}
Exemplo n.º 5
0
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;
}