add statistic counters to determine the usage of sys_arch.c
This commit is contained in:
parent
5bb9e2f066
commit
4f534f5732
2 changed files with 46 additions and 15 deletions
|
@ -101,8 +101,11 @@ sys_thread_t sys_thread_new(const char *name, lwip_thread_fn thread, void *arg,
|
|||
*/
|
||||
void sys_sem_free(sys_sem_t* sem)
|
||||
{
|
||||
sem->valid = FALSE;
|
||||
sem_destroy(&sem->sem);
|
||||
if (BUILTIN_EXPECT(sem != NULL, 1)) {
|
||||
sem->valid = FALSE;
|
||||
SYS_STATS_DEC(sem.used);
|
||||
sem_destroy(&sem->sem);
|
||||
}
|
||||
}
|
||||
|
||||
/* sys_sem_valid(): returns if semaphore is valid
|
||||
|
@ -110,16 +113,29 @@ void sys_sem_free(sys_sem_t* sem)
|
|||
*/
|
||||
int sys_sem_valid(sys_sem_t* sem)
|
||||
{
|
||||
if (BUILTIN_EXPECT(sem == NULL, 0))
|
||||
return FALSE;
|
||||
return sem->valid;
|
||||
}
|
||||
|
||||
/* sys_sem_new(): creates a new semaphre with given count.
|
||||
* This semaphore becomes valid
|
||||
*/
|
||||
err_t sys_sem_new(sys_sem_t* sem, u8_t count)
|
||||
err_t sys_sem_new(sys_sem_t* s, u8_t count)
|
||||
{
|
||||
sem->valid = TRUE;
|
||||
return sem_init(&sem->sem, count);
|
||||
int err;
|
||||
|
||||
if (BUILTIN_EXPECT(!s, 0))
|
||||
return ERR_VAL;
|
||||
|
||||
err = sem_init(&s->sem, count);
|
||||
if (err < 0)
|
||||
return ERR_VAL;
|
||||
|
||||
SYS_STATS_INC_USED(sem);
|
||||
s->valid = TRUE;
|
||||
|
||||
return ERR_OK;
|
||||
}
|
||||
|
||||
/* sys_sem_set_invalid(): this semapohore becomes invalid
|
||||
|
@ -158,6 +174,8 @@ u32_t sys_arch_sem_wait(sys_sem_t *sem, u32_t timeout)
|
|||
*/
|
||||
int sys_mbox_valid(sys_mbox_t * mbox)
|
||||
{
|
||||
if (BUILTIN_EXPECT(mbox == NULL, 0))
|
||||
return FALSE;
|
||||
return mbox->valid;
|
||||
}
|
||||
|
||||
|
@ -182,8 +200,11 @@ u32_t sys_arch_mbox_fetch(sys_mbox_t * mbox, void **msg, u32_t timeout)
|
|||
*/
|
||||
void sys_mbox_free(sys_mbox_t* mbox)
|
||||
{
|
||||
mbox->valid = FALSE;
|
||||
mailbox_ptr_destroy(&mbox->mailbox);
|
||||
if (BUILTIN_EXPECT(mbox != NULL, 1)) {
|
||||
mbox->valid = FALSE;
|
||||
SYS_STATS_DEC(mbox.used);
|
||||
mailbox_ptr_destroy(&mbox->mailbox);
|
||||
}
|
||||
}
|
||||
|
||||
/* sys_arch_mbox_tryfetch(): poll for new data in mailbox
|
||||
|
@ -192,7 +213,6 @@ void sys_mbox_free(sys_mbox_t* mbox)
|
|||
u32_t sys_arch_mbox_tryfetch(sys_mbox_t* mbox, void** msg)
|
||||
{
|
||||
int ret = mailbox_ptr_tryfetch(&mbox->mailbox, msg);
|
||||
|
||||
if (ret)
|
||||
return SYS_MBOX_EMPTY;
|
||||
return 0;
|
||||
|
@ -201,12 +221,20 @@ u32_t sys_arch_mbox_tryfetch(sys_mbox_t* mbox, void** msg)
|
|||
/* sys_mbox_new(): create a new mailbox with a minimum size of "size"
|
||||
*
|
||||
*/
|
||||
err_t sys_mbox_new(sys_mbox_t* mbox, int size)
|
||||
err_t sys_mbox_new(sys_mbox_t* mb, int size)
|
||||
{
|
||||
LWIP_DEBUGF(SYS_DEBUG, ("sys_mbox_new: create mailbox with the minimum size: %d\n", size));
|
||||
int err;
|
||||
|
||||
//LWIP_DEBUGF(SYS_DEBUG, ("sys_mbox_new: create mailbox with the minimum size: %d\n", size));
|
||||
if (BUILTIN_EXPECT(!mb, 0))
|
||||
return ERR_VAL;
|
||||
|
||||
mbox->valid = TRUE;
|
||||
return mailbox_ptr_init(&mbox->mailbox);
|
||||
mb->valid = TRUE;
|
||||
SYS_STATS_INC_USED(mbox);
|
||||
err = mailbox_ptr_init(&mb->mailbox);
|
||||
if (err)
|
||||
return ERR_MEM;
|
||||
return ERR_OK;
|
||||
}
|
||||
|
||||
/* sys_mbox_set_invalid(): set the given mailbox to invald
|
||||
|
@ -261,9 +289,12 @@ void sys_mutex_unlock(sys_mutex_t* mutex)
|
|||
/* sys_mutex_new(): create a new mutex
|
||||
*
|
||||
*/
|
||||
err_t sys_mutex_new(sys_mutex_t * mutex)
|
||||
err_t sys_mutex_new(sys_mutex_t * m)
|
||||
{
|
||||
sem_init(mutex, 1);
|
||||
if (BUILTIN_EXPECT(!m, 0))
|
||||
return ERR_VAL;
|
||||
SYS_STATS_INC_USED(mutex);
|
||||
sem_init(m, 1);
|
||||
return ERR_OK;
|
||||
}
|
||||
|
||||
|
|
|
@ -235,7 +235,7 @@
|
|||
#define DHCP_DEBUG LWIP_DBG_OFF
|
||||
#define ETHARP_DEBUG LWIP_DBG_OFF
|
||||
#define TCPIP_DEBUG LWIP_DBG_OFF
|
||||
#define SYS_DEBUG LWIP_DBG_OFF
|
||||
#define SYS_DEBUG LWIP_DBG_ON
|
||||
#define RAW_DEBUG LWIP_DBG_OFF
|
||||
#define MEM_DEBUG LWIP_DBG_OFF
|
||||
#define IP_DEBUG LWIP_DBG_OFF
|
||||
|
|
Loading…
Add table
Reference in a new issue