rt_err_t rtgui_send_urgent(struct rtgui_app* app, rtgui_event_t *event, rt_size_t event_size) { rt_err_t result; RT_ASSERT(app != RT_NULL); RT_ASSERT(event != RT_NULL); RT_ASSERT(event_size != 0); rtgui_event_dump(app, event); result = rt_mq_urgent(app->mq, event, event_size); if (result != RT_EOK) rt_kprintf("send ergent event to %s failed\n", app->name); return result; }
rt_err_t rtgui_thread_send_urgent(rt_thread_t tid, rtgui_event_t* event, rt_size_t event_size) { rt_err_t result; struct rtgui_thread* thread; rtgui_event_dump(tid, event); /* find rtgui_thread */ thread = (struct rtgui_thread*) (tid->user_data); if (thread == RT_NULL) return -RT_ERROR; result = rt_mq_urgent(thread->mq, event, event_size); if (result != RT_EOK) rt_kprintf("send ergent event failed\n"); return result; }