forked from Imagelibrary/rtems
PR 1673/cpukit * sapi/src/chainappendnotify.c, sapi/src/chaingetnotify.c, sapi/src/chaingetwait.c, sapi/src/chainprependnotify.c: New files. * sapi/Makefile.am: Reflect changes above. * sapi/include/rtems/chain.h: Declare rtems_chain_append_with_notification(), rtems_chain_prepend_with_notification(), rtems_chain_get_with_notification(), and rtems_chain_get_with_wait(). * sapi/inline/rtems/chain.inl: Define rtems_chain_append_with_empty_check(), rtems_chain_prepend_with_empty_check(), and rtems_chain_get_with_empty_check().
45 lines
890 B
C
45 lines
890 B
C
/**
|
|
* @file
|
|
*
|
|
* @ingroup ClassicChains
|
|
*
|
|
* @brief rtems_chain_append_with_notification() implementation.
|
|
*/
|
|
|
|
/*
|
|
* Copyright (c) 2010 embedded brains GmbH. All rights reserved.
|
|
*
|
|
* embedded brains GmbH
|
|
* Obere Lagerstr. 30
|
|
* 82178 Puchheim
|
|
* Germany
|
|
* <rtems@embedded-brains.de>
|
|
*
|
|
* The license and distribution terms for this file may be
|
|
* found in the file LICENSE in this distribution or at
|
|
* http://www.rtems.com/license/LICENSE.
|
|
*/
|
|
|
|
#if HAVE_CONFIG_H
|
|
#include "config.h"
|
|
#endif
|
|
|
|
#include <rtems/chain.h>
|
|
|
|
rtems_status_code rtems_chain_append_with_notification(
|
|
rtems_chain_control *chain,
|
|
rtems_chain_node *node,
|
|
rtems_id task,
|
|
rtems_event_set events
|
|
)
|
|
{
|
|
rtems_status_code sc = RTEMS_SUCCESSFUL;
|
|
bool was_empty = rtems_chain_append_with_empty_check( chain, node );
|
|
|
|
if ( was_empty ) {
|
|
sc = rtems_event_send( task, events );
|
|
}
|
|
|
|
return sc;
|
|
}
|