rem: sys_sem_signal(mutex);
add: LWP_SemPost(memp_sem);
context: memp_free(memp_t type, void *mem){  struct memp *memp;#if SYS_LIGHTWEIGHT_PROT  SYS_ARCH_DECL_PROTECT(old_level);#endif /* SYS_LIGHTWEIGHT_PROT */    if (mem == NULL) {    return;  }  memp = (struct memp *)((u8_t *)mem - sizeof(struct memp));#if SYS_LIGHTWEIGHT_PROT    SYS_ARCH_PROTECT(old_level);#else /* SYS_LIGHTWEIGHT_PROT */    sys_sem_wait(mutex);#endif /* SYS_LIGHTWEIGHT_PROT */  #if MEMP_STATS  lwip_stats.memp[type].used--; #endif /* MEMP_STATS */    memp->next = memp_tab[type];   memp_tab[type] = memp;#if MEMP_SANITY_CHECK  LWIP_ASSERT("memp sanity", memp_sanity());#endif  #if SYS_LIGHTWEIGHT_PROT  SYS_ARCH_UNPROTECT(old_level);#else /* SYS_LIGHTWEIGHT_PROT */  sys_sem_signal(mutex);#endif /* SYS_LIGHTWEIGHT_PROT */  }