@@ -174,11 +174,11 @@ void sys_mbox_post(sys_mbox_t *mbox, void *msg) {
174174
175175 int state = osKernelLock ();
176176
177- mbox -> queue [mbox -> post_idx % MB_SIZE ] = msg ;
178- mbox -> post_idx += 1 ;
177+ mbox -> queue [mbox -> post_idx ] = msg ;
178+ mbox -> post_idx = ( mbox -> post_idx + 1 ) % MB_SIZE ;
179179
180180 osEventFlagsSet (mbox -> id , SYS_MBOX_FETCH_EVENT );
181- if (mbox -> post_idx - mbox -> fetch_idx == MB_SIZE - 1 )
181+ if (( mbox -> post_idx + 1 ) % MB_SIZE == mbox -> fetch_idx )
182182 osEventFlagsClear (mbox -> id , SYS_MBOX_POST_EVENT );
183183
184184 osKernelRestoreLock (state );
@@ -207,11 +207,11 @@ err_t sys_mbox_trypost(sys_mbox_t *mbox, void *msg) {
207207
208208 int state = osKernelLock ();
209209
210- mbox -> queue [mbox -> post_idx % MB_SIZE ] = msg ;
211- mbox -> post_idx += 1 ;
210+ mbox -> queue [mbox -> post_idx ] = msg ;
211+ mbox -> post_idx = ( mbox -> post_idx + 1 ) % MB_SIZE ;
212212
213213 osEventFlagsSet (mbox -> id , SYS_MBOX_FETCH_EVENT );
214- if (mbox -> post_idx - mbox -> fetch_idx == MB_SIZE - 1 )
214+ if (( mbox -> post_idx + 1 ) % MB_SIZE == mbox -> fetch_idx )
215215 osEventFlagsClear (mbox -> id , SYS_MBOX_POST_EVENT );
216216
217217 osKernelRestoreLock (state );
@@ -261,8 +261,8 @@ u32_t sys_arch_mbox_fetch(sys_mbox_t *mbox, void **msg, u32_t timeout) {
261261 int state = osKernelLock ();
262262
263263 if (msg )
264- * msg = mbox -> queue [mbox -> fetch_idx % MB_SIZE ];
265- mbox -> fetch_idx += 1 ;
264+ * msg = mbox -> queue [mbox -> fetch_idx ];
265+ mbox -> fetch_idx = ( mbox -> fetch_idx + 1 ) % MB_SIZE ;
266266
267267 osEventFlagsSet (mbox -> id , SYS_MBOX_POST_EVENT );
268268 if (mbox -> post_idx == mbox -> fetch_idx )
@@ -297,8 +297,8 @@ u32_t sys_arch_mbox_tryfetch(sys_mbox_t *mbox, void **msg) {
297297 int state = osKernelLock ();
298298
299299 if (msg )
300- * msg = mbox -> queue [mbox -> fetch_idx % MB_SIZE ];
301- mbox -> fetch_idx += 1 ;
300+ * msg = mbox -> queue [mbox -> fetch_idx ];
301+ mbox -> fetch_idx = ( mbox -> fetch_idx + 1 ) % MB_SIZE ;
302302
303303 osEventFlagsSet (mbox -> id , SYS_MBOX_POST_EVENT );
304304 if (mbox -> post_idx == mbox -> fetch_idx )
0 commit comments