Fixed bug #696.
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/branches/stable_16.1.x@8829 35acf78f-673a-0410-8e92-d51de3d6d3f4
This commit is contained in:
parent
c3a9398423
commit
d25a2b7e97
|
@ -99,18 +99,18 @@ void sys_sem_signal_S(sys_sem_t *sem) {
|
||||||
}
|
}
|
||||||
|
|
||||||
u32_t sys_arch_sem_wait(sys_sem_t *sem, u32_t timeout) {
|
u32_t sys_arch_sem_wait(sys_sem_t *sem, u32_t timeout) {
|
||||||
systime_t tmo;
|
systime_t tmo, start, remaining;
|
||||||
u32_t time;
|
|
||||||
|
|
||||||
osalSysLock();
|
osalSysLock();
|
||||||
tmo = timeout > 0 ? MS2ST((systime_t)timeout) : TIME_INFINITE;
|
tmo = timeout > 0 ? MS2ST((systime_t)timeout) : TIME_INFINITE;
|
||||||
time = (u32_t)ST2MS(osalOsGetSystemTimeX());
|
start = osalOsGetSystemTimeX();
|
||||||
if (chSemWaitTimeoutS(*sem, tmo) != MSG_OK)
|
if (chSemWaitTimeoutS(*sem, tmo) != MSG_OK) {
|
||||||
time = SYS_ARCH_TIMEOUT;
|
|
||||||
else
|
|
||||||
time = (u32_t)ST2MS(osalOsGetSystemTimeX()) - time;
|
|
||||||
osalSysUnlock();
|
osalSysUnlock();
|
||||||
return time;
|
return SYS_ARCH_TIMEOUT;
|
||||||
|
}
|
||||||
|
remaining = osalOsGetSystemTimeX() - start;
|
||||||
|
osalSysUnlock();
|
||||||
|
return (u32_t)ST2MS(remaining);
|
||||||
}
|
}
|
||||||
|
|
||||||
int sys_sem_valid(sys_sem_t *sem) {
|
int sys_sem_valid(sys_sem_t *sem) {
|
||||||
|
@ -171,18 +171,18 @@ err_t sys_mbox_trypost(sys_mbox_t *mbox, void *msg) {
|
||||||
}
|
}
|
||||||
|
|
||||||
u32_t sys_arch_mbox_fetch(sys_mbox_t *mbox, void **msg, u32_t timeout) {
|
u32_t sys_arch_mbox_fetch(sys_mbox_t *mbox, void **msg, u32_t timeout) {
|
||||||
u32_t time;
|
systime_t tmo, start, remaining;
|
||||||
systime_t tmo;
|
|
||||||
|
|
||||||
osalSysLock();
|
osalSysLock();
|
||||||
tmo = timeout > 0 ? MS2ST((systime_t)timeout) : TIME_INFINITE;
|
tmo = timeout > 0 ? MS2ST((systime_t)timeout) : TIME_INFINITE;
|
||||||
time = (u32_t)osalOsGetSystemTimeX();
|
start = osalOsGetSystemTimeX();
|
||||||
if (chMBFetchS(*mbox, (msg_t *)msg, tmo) != MSG_OK)
|
if (chMBFetchS(*mbox, (msg_t *)msg, tmo) != MSG_OK) {
|
||||||
time = SYS_ARCH_TIMEOUT;
|
|
||||||
else
|
|
||||||
time = (u32_t)ST2MS(osalOsGetSystemTimeX()) - time;
|
|
||||||
osalSysUnlock();
|
osalSysUnlock();
|
||||||
return time;
|
return SYS_ARCH_TIMEOUT;
|
||||||
|
}
|
||||||
|
remaining = osalOsGetSystemTimeX() - start;
|
||||||
|
osalSysUnlock();
|
||||||
|
return (u32_t)ST2MS(remaining);
|
||||||
}
|
}
|
||||||
|
|
||||||
u32_t sys_arch_mbox_tryfetch(sys_mbox_t *mbox, void **msg) {
|
u32_t sys_arch_mbox_tryfetch(sys_mbox_t *mbox, void **msg) {
|
||||||
|
|
|
@ -72,6 +72,9 @@
|
||||||
*** Releases and Change Log ***
|
*** Releases and Change Log ***
|
||||||
*****************************************************************************
|
*****************************************************************************
|
||||||
|
|
||||||
|
*** 16.1.3 ***
|
||||||
|
- VAR: Fixed missing time convesion in lwIP arch module (bug #696, again).
|
||||||
|
|
||||||
*** 16.1.2 ***
|
*** 16.1.2 ***
|
||||||
- VAR: Fixed missing time convesion in lwIP arch module (bug #696).
|
- VAR: Fixed missing time convesion in lwIP arch module (bug #696).
|
||||||
- HAL: Fixed incorrect handling of TIME_IMMEDIATE in the HAL buffer queues
|
- HAL: Fixed incorrect handling of TIME_IMMEDIATE in the HAL buffer queues
|
||||||
|
|
Loading…
Reference in New Issue