MCPcopy Create free account
hub / github.com/RT-Thread/rt-thread / rt_alarm_delete

Function rt_alarm_delete

components/drivers/rtc/dev_alarm.c:682–704  ·  view source on GitHub ↗

\brief delete an alarm * * \param alarm pointer to alarm * \return RT_EOK */

Source from the content-addressed store, hash-verified

680 * \return RT_EOK
681 */
682rt_err_t rt_alarm_delete(rt_alarm_t alarm)
683{
684 rt_err_t ret = RT_EOK;
685
686 if (alarm == RT_NULL)
687 return -RT_ERROR;
688 rt_mutex_take(&_container.mutex, RT_WAITING_FOREVER);
689 /* stop the alarm */
690 alarm->flag &= ~RT_ALARM_STATE_START;
691 if (_container.current == alarm)
692 {
693 ret = alarm_set(alarm);
694 _container.current = RT_NULL;
695 /* set new alarm if necessary */
696 alarm_update(0);
697 }
698 rt_list_remove(&alarm->list);
699 rt_free(alarm);
700
701 rt_mutex_release(&_container.mutex);
702
703 return (ret);
704}
705
706/** \brief create an alarm
707 *

Callers 1

rtc_sampleFunction · 0.85

Calls 6

rt_mutex_takeFunction · 0.85
alarm_setFunction · 0.85
alarm_updateFunction · 0.85
rt_list_removeFunction · 0.85
rt_freeFunction · 0.85
rt_mutex_releaseFunction · 0.85

Tested by 1

rtc_sampleFunction · 0.68