change log for rtems (2010-08-24)
rtems-vc at rtems.org
rtems-vc at rtems.org
Tue Aug 24 15:10:51 UTC 2010
*sh*:
2010-08-24 Sebastian Huber <sebastian.huber at embedded-brains.de>
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().
M 1.2591 cpukit/ChangeLog
M 1.40 cpukit/sapi/Makefile.am
M 1.5 cpukit/sapi/include/rtems/chain.h
M 1.10 cpukit/sapi/inline/rtems/chain.inl
A 1.1 cpukit/sapi/src/chainappendnotify.c
A 1.1 cpukit/sapi/src/chaingetnotify.c
A 1.1 cpukit/sapi/src/chaingetwait.c
A 1.1 cpukit/sapi/src/chainprependnotify.c
diff -u rtems/cpukit/ChangeLog:1.2590 rtems/cpukit/ChangeLog:1.2591
--- rtems/cpukit/ChangeLog:1.2590 Tue Aug 24 08:06:23 2010
+++ rtems/cpukit/ChangeLog Tue Aug 24 09:29:54 2010
@@ -1,3 +1,18 @@
+2010-08-24 Sebastian Huber <sebastian.huber at embedded-brains.de>
+
+ 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().
+
2010-08-24 Ralf Corsépius <ralf.corsepius at rtems.org>
* libmisc/untar/untar.c: Return if open fails.
diff -u rtems/cpukit/sapi/Makefile.am:1.39 rtems/cpukit/sapi/Makefile.am:1.40
--- rtems/cpukit/sapi/Makefile.am:1.39 Thu Jun 17 21:58:15 2010
+++ rtems/cpukit/sapi/Makefile.am Tue Aug 24 09:29:55 2010
@@ -27,7 +27,9 @@
src/exshutdown.c src/io.c src/ioclose.c src/iocontrol.c src/iodata.c \
src/ioinitialize.c src/ioopen.c src/ioread.c src/ioregisterdriver.c \
src/iounregisterdriver.c src/iowrite.c src/posixapi.c \
- src/rtemsapi.c src/extensiondata.c src/getversionstring.c
+ src/rtemsapi.c src/extensiondata.c src/getversionstring.c \
+ src/chainappendnotify.c src/chaingetnotify.c src/chaingetwait.c \
+ src/chainprependnotify.c
libsapi_a_CPPFLAGS = $(AM_CPPFLAGS)
include $(srcdir)/preinstall.am
diff -u rtems/cpukit/sapi/include/rtems/chain.h:1.4 rtems/cpukit/sapi/include/rtems/chain.h:1.5
--- rtems/cpukit/sapi/include/rtems/chain.h:1.4 Fri Aug 20 08:26:55 2010
+++ rtems/cpukit/sapi/include/rtems/chain.h Tue Aug 24 09:29:55 2010
@@ -1,14 +1,14 @@
/**
- * @file rtems/chain.h
+ * @file
*
- * This include file contains all the constants and structures associated
- * with the Chain API in RTEMS. The chain is a double linked list that
- * is part of the Super Core. This is the published interface to that
- * code.
+ * @ingroup ClassicChains
*
+ * @brief Chain API.
*/
/*
+ * Copyright (c) 2010 embedded brains GmbH.
+ *
* COPYRIGHT (c) 1989-2008.
* On-Line Applications Research Corporation (OAR).
*
@@ -24,23 +24,24 @@
#include <rtems/system.h>
#include <rtems/score/chain.h>
+#include <rtems/rtems/event.h>
#ifdef __cplusplus
extern "C" {
#endif
/**
- * @typedef rtems_chain_node
+ * @defgroup ClassicChains Chains
+ *
+ * @ingroup ClassicRTEMS
+ *
+ * @brief Chain API.
*
- * A node that can be manipulated in the chain.
+ * @{
*/
+
typedef Chain_Node rtems_chain_node;
-/**
- * @typedef rtems_chain_control
- *
- * The chain's control anchors the chain.
- */
typedef Chain_Control rtems_chain_control;
/**
@@ -55,8 +56,82 @@
#define RTEMS_CHAIN_DEFINE_EMPTY(name) \
CHAIN_DEFINE_EMPTY(name)
+/** @} */
+
#include <rtems/chain.inl>
+/**
+ * @addtogroup ClassicChains
+ *
+ * @{
+ */
+
+/**
+ * @brief Appends the @a node to the @a chain and sends the @a events to the
+ * @a task if the @a chain was empty before the append.
+ *
+ * @see rtems_chain_append_with_empty_check() and rtems_event_send().
+ *
+ * @retval RTEMS_SUCCESSFUL Successful operation.
+ * @retval RTEMS_INVALID_ID No such task.
+ */
+rtems_status_code rtems_chain_append_with_notification(
+ rtems_chain_control *chain,
+ rtems_chain_node *node,
+ rtems_id task,
+ rtems_event_set events
+);
+
+/**
+ * @brief Prepends the @a node to the @a chain and sends the @a events to the
+ * @a task if the @a chain was empty before the prepend.
+ *
+ * @see rtems_chain_prepend_with_empty_check() and rtems_event_send().
+ *
+ * @retval RTEMS_SUCCESSFUL Successful operation.
+ * @retval RTEMS_INVALID_ID No such task.
+ */
+rtems_status_code rtems_chain_prepend_with_notification(
+ rtems_chain_control *chain,
+ rtems_chain_node *node,
+ rtems_id task,
+ rtems_event_set events
+);
+
+/**
+ * @brief Gets the first @a node of the @a chain and sends the @a events to the
+ * @a task if the @a chain is empty after the get.
+ *
+ * @see rtems_chain_get_with_empty_check() and rtems_event_send().
+ *
+ * @retval RTEMS_SUCCESSFUL Successful operation.
+ * @retval RTEMS_INVALID_ID No such task.
+ */
+rtems_status_code rtems_chain_get_with_notification(
+ rtems_chain_control *chain,
+ rtems_id task,
+ rtems_event_set events,
+ rtems_chain_node **node
+);
+
+/**
+ * @brief Gets the first @a node of the @a chain and sends the @a events to the
+ * @a task if the @a chain is empty afterwards.
+ *
+ * @see rtems_chain_get() and rtems_event_receive().
+ *
+ * @retval RTEMS_SUCCESSFUL Successful operation.
+ * @retval RTEMS_TIMEOUT Timeout.
+ */
+rtems_status_code rtems_chain_get_with_wait(
+ rtems_chain_control *chain,
+ rtems_event_set events,
+ rtems_interval timeout,
+ rtems_chain_node **node
+);
+
+/** @} */
+
#ifdef __cplusplus
}
#endif
diff -u rtems/cpukit/sapi/inline/rtems/chain.inl:1.9 rtems/cpukit/sapi/inline/rtems/chain.inl:1.10
--- rtems/cpukit/sapi/inline/rtems/chain.inl:1.9 Mon Aug 9 02:38:51 2010
+++ rtems/cpukit/sapi/inline/rtems/chain.inl Tue Aug 24 09:29:55 2010
@@ -1,22 +1,14 @@
/**
- * @file rtems/chain.inl
+ * @file
*
- * This include file contains all the constants and structures associated
- * with the Chain API in RTEMS. The chain is a double linked list that
- * is part of the Super Core. This is the published interface to that
- * code.
- *
- * Iterate the node of a chain can be performed with the following code:
- *
- * rtems_chain_control* cc = &object->pending;
- * rtems_chain_node* cn = cc->first;
- * while (!rtems_chain_is_tail (cc, cn))
- * {
- * cn = cn->next;
- * }
+ * @ingroup ClassicChains
+ *
+ * @brief Chain API.
*/
/*
+ * Copyright (c) 2010 embedded brains GmbH.
+ *
* COPYRIGHT (c) 1989-2008.
* On-Line Applications Research Corporation (OAR).
*
@@ -37,6 +29,12 @@
#include <rtems/score/chain.inl>
/**
+ * @addtogroup ClassicChains
+ *
+ * @{
+ */
+
+/**
* @brief Initialize a Chain Header
*
* This routine initializes @a the_chain structure to manage the
@@ -505,5 +503,59 @@
_Chain_Prepend_unprotected( the_chain, the_node );
}
+/**
+ * @brief Checks if the @a chain is empty and appends the @a node.
+ *
+ * Interrupts are disabled to ensure the atomicity of the operation.
+ *
+ * @retval true The chain was empty before the append.
+ * @retval false The chain contained at least one node before the append.
+ */
+RTEMS_INLINE_ROUTINE bool rtems_chain_append_with_empty_check(
+ rtems_chain_control *chain,
+ rtems_chain_node *node
+)
+{
+ return _Chain_Append_with_empty_check( chain, node );
+}
+
+/**
+ * @brief Checks if the @a chain is empty and prepends the @a node.
+ *
+ * Interrupts are disabled to ensure the atomicity of the operation.
+ *
+ * @retval true The chain was empty before the prepend.
+ * @retval false The chain contained at least one node before the prepend.
+ */
+RTEMS_INLINE_ROUTINE bool rtems_chain_prepend_with_empty_check(
+ rtems_chain_control *chain,
+ rtems_chain_node *node
+)
+{
+ return _Chain_Prepend_with_empty_check( chain, node );
+}
+
+/**
+ * @brief Tries to get the first @a node and check if the @a chain is empty
+ * afterwards.
+ *
+ * This function removes the first node from the @a chain and returns a pointer
+ * to that node in @a node. If the @a chain is empty, then @c NULL is returned.
+ *
+ * Interrupts are disabled to ensure the atomicity of the operation.
+ *
+ * @retval true The chain is empty after the node removal.
+ * @retval false The chain contained at least one node after the node removal.
+ */
+RTEMS_INLINE_ROUTINE bool rtems_chain_get_with_empty_check(
+ rtems_chain_control *chain,
+ rtems_chain_node **node
+)
+{
+ return _Chain_Get_with_empty_check( chain, node );
+}
+
+/** @} */
+
#endif
/* end of include file */
diff -u /dev/null rtems/cpukit/sapi/src/chainappendnotify.c:1.1
--- /dev/null Tue Aug 24 10:10:50 2010
+++ rtems/cpukit/sapi/src/chainappendnotify.c Tue Aug 24 09:29:55 2010
@@ -0,0 +1,44 @@
+/**
+ * @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 at 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;
+}
diff -u /dev/null rtems/cpukit/sapi/src/chaingetnotify.c:1.1
--- /dev/null Tue Aug 24 10:10:50 2010
+++ rtems/cpukit/sapi/src/chaingetnotify.c Tue Aug 24 09:29:55 2010
@@ -0,0 +1,44 @@
+/**
+ * @file
+ *
+ * @ingroup ClassicChains
+ *
+ * @brief rtems_chain_get_with_notification() implementation.
+ */
+
+/*
+ * Copyright (c) 2010 embedded brains GmbH. All rights reserved.
+ *
+ * embedded brains GmbH
+ * Obere Lagerstr. 30
+ * 82178 Puchheim
+ * Germany
+ * <rtems at 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_get_with_notification(
+ rtems_chain_control *chain,
+ rtems_id task,
+ rtems_event_set events,
+ rtems_chain_node **node
+)
+{
+ rtems_status_code sc = RTEMS_SUCCESSFUL;
+ bool is_empty = rtems_chain_get_with_empty_check( chain, node );
+
+ if ( is_empty ) {
+ sc = rtems_event_send( task, events );
+ }
+
+ return sc;
+}
diff -u /dev/null rtems/cpukit/sapi/src/chaingetwait.c:1.1
--- /dev/null Tue Aug 24 10:10:50 2010
+++ rtems/cpukit/sapi/src/chaingetwait.c Tue Aug 24 09:29:55 2010
@@ -0,0 +1,55 @@
+/**
+ * @file
+ *
+ * @ingroup ClassicChains
+ *
+ * @brief rtems_chain_get_with_wait() implementation.
+ */
+
+/*
+ * Copyright (c) 2010 embedded brains GmbH. All rights reserved.
+ *
+ * embedded brains GmbH
+ * Obere Lagerstr. 30
+ * 82178 Puchheim
+ * Germany
+ * <rtems at 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_get_with_wait(
+ rtems_chain_control *chain,
+ rtems_event_set events,
+ rtems_interval timeout,
+ rtems_chain_node **node_ptr
+)
+{
+ rtems_status_code sc = RTEMS_SUCCESSFUL;
+ rtems_chain_node *node = NULL;
+
+ while (
+ sc == RTEMS_SUCCESSFUL
+ && (node = rtems_chain_get( chain )) == NULL
+ ) {
+ rtems_event_set out;
+ sc = rtems_event_receive(
+ events,
+ RTEMS_EVENT_ALL | RTEMS_WAIT,
+ timeout,
+ &out
+ );
+ }
+
+ *node_ptr = node;
+
+ return sc;
+}
diff -u /dev/null rtems/cpukit/sapi/src/chainprependnotify.c:1.1
--- /dev/null Tue Aug 24 10:10:51 2010
+++ rtems/cpukit/sapi/src/chainprependnotify.c Tue Aug 24 09:29:55 2010
@@ -0,0 +1,44 @@
+/**
+ * @file
+ *
+ * @ingroup ClassicChains
+ *
+ * @brief rtems_chain_prepend_with_notification() implementation.
+ */
+
+/*
+ * Copyright (c) 2010 embedded brains GmbH. All rights reserved.
+ *
+ * embedded brains GmbH
+ * Obere Lagerstr. 30
+ * 82178 Puchheim
+ * Germany
+ * <rtems at 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_prepend_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_prepend_with_empty_check( chain, node );
+
+ if (was_empty) {
+ sc = rtems_event_send( task, events );
+ }
+
+ return sc;
+}
*sh*:
2010-08-24 Sebastian Huber <sebastian.huber at embedded-brains.de>
* spchain/init.c, spchain/spchain.doc, spchain/spchain.scn: New test
cases.
M 1.417 testsuites/sptests/ChangeLog
M 1.4 testsuites/sptests/spchain/init.c
M 1.2 testsuites/sptests/spchain/spchain.doc
M 1.3 testsuites/sptests/spchain/spchain.scn
diff -u rtems/testsuites/sptests/ChangeLog:1.416 rtems/testsuites/sptests/ChangeLog:1.417
--- rtems/testsuites/sptests/ChangeLog:1.416 Mon Aug 23 03:27:33 2010
+++ rtems/testsuites/sptests/ChangeLog Tue Aug 24 10:01:04 2010
@@ -1,3 +1,8 @@
+2010-08-24 Sebastian Huber <sebastian.huber at embedded-brains.de>
+
+ * spchain/init.c, spchain/spchain.doc, spchain/spchain.scn: New test
+ cases.
+
2010-08-23 Sebastian Huber <sebastian.huber at embedded-brains.de>
* spfatal24/.cvsignore, spfatal24/Makefile.am,
diff -u rtems/testsuites/sptests/spchain/init.c:1.3 rtems/testsuites/sptests/spchain/init.c:1.4
--- rtems/testsuites/sptests/spchain/init.c:1.3 Sun Nov 29 21:33:25 2009
+++ rtems/testsuites/sptests/spchain/init.c Tue Aug 24 10:01:04 2010
@@ -12,11 +12,101 @@
#include <tmacros.h>
#include <rtems/chain.h>
+#define EVENT RTEMS_EVENT_13
+#define TIMEOUT 1
+
typedef struct {
rtems_chain_node Node;
int id;
} test_node;
+static void test_chain_get_with_wait(void)
+{
+ rtems_status_code sc = RTEMS_SUCCESSFUL;
+ rtems_chain_control chain;
+ rtems_chain_node *p = (rtems_chain_node *) 1;
+
+ puts( "INIT - Verify rtems_chain_get_with_wait" );
+ rtems_chain_initialize_empty( &chain );
+ sc = rtems_chain_get_with_wait( &chain, EVENT, TIMEOUT, &p );
+ rtems_test_assert( sc == RTEMS_TIMEOUT );
+ rtems_test_assert( p == NULL );
+}
+
+static void test_chain_with_notification(void)
+{
+ rtems_status_code sc = RTEMS_SUCCESSFUL;
+ rtems_chain_control chain;
+ rtems_chain_node a;
+ rtems_chain_node *p = (rtems_chain_node *) 1;
+ rtems_event_set out = 0;
+
+ puts( "INIT - Verify rtems_chain_append_with_notification" );
+ rtems_chain_initialize_empty( &chain );
+ sc = rtems_chain_append_with_notification( &chain, &a, rtems_task_self(), EVENT );
+ rtems_test_assert( sc == RTEMS_SUCCESSFUL );
+ sc = rtems_chain_get_with_wait( &chain, EVENT, TIMEOUT, &p );
+ rtems_test_assert( sc == RTEMS_SUCCESSFUL );
+ rtems_test_assert( p == &a );
+
+ puts( "INIT - Verify rtems_chain_prepend_with_notification" );
+ rtems_chain_initialize_empty( &chain );
+ sc = rtems_chain_prepend_with_notification( &chain, &a, rtems_task_self(), EVENT );
+ rtems_test_assert( sc == RTEMS_SUCCESSFUL );
+ sc = rtems_chain_get_with_wait( &chain, EVENT, TIMEOUT, &p );
+ rtems_test_assert( sc == RTEMS_SUCCESSFUL );
+ rtems_test_assert( p == &a );
+
+ puts( "INIT - Verify rtems_chain_get_with_notification" );
+ rtems_chain_initialize_empty( &chain );
+ rtems_chain_append( &chain, &a );
+ sc = rtems_chain_get_with_notification( &chain, rtems_task_self(), EVENT, &p );
+ rtems_test_assert( sc == RTEMS_SUCCESSFUL );
+ rtems_test_assert( p == &a );
+ sc = rtems_event_receive(
+ EVENT,
+ RTEMS_EVENT_ALL | RTEMS_WAIT,
+ TIMEOUT,
+ &out
+ );
+ rtems_test_assert( sc == RTEMS_SUCCESSFUL );
+ rtems_test_assert( out == EVENT );
+}
+
+static void test_chain_with_empty_check(void)
+{
+ rtems_chain_control chain;
+ rtems_chain_node a;
+ rtems_chain_node b;
+ rtems_chain_node *p;
+ bool empty;
+
+ puts( "INIT - Verify rtems_chain_append_with_empty_check" );
+ rtems_chain_initialize_empty( &chain );
+ empty = rtems_chain_append_with_empty_check( &chain, &a );
+ rtems_test_assert( empty );
+ empty = rtems_chain_append_with_empty_check( &chain, &a );
+ rtems_test_assert( !empty );
+
+ puts( "INIT - Verify rtems_chain_prepend_with_empty_check" );
+ rtems_chain_initialize_empty( &chain );
+ empty = rtems_chain_prepend_with_empty_check( &chain, &a );
+ rtems_test_assert( empty );
+ empty = rtems_chain_prepend_with_empty_check( &chain, &a );
+ rtems_test_assert( !empty );
+
+ puts( "INIT - Verify rtems_chain_get_with_empty_check" );
+ rtems_chain_initialize_empty( &chain );
+ rtems_chain_append( &chain, &a );
+ rtems_chain_append( &chain, &b );
+ empty = rtems_chain_get_with_empty_check( &chain, &p );
+ rtems_test_assert( !empty );
+ rtems_test_assert( p == &a );
+ empty = rtems_chain_get_with_empty_check( &chain, &p );
+ rtems_test_assert( empty );
+ rtems_test_assert( p == &b );
+}
+
rtems_task Init(
rtems_task_argument ignored
)
@@ -52,6 +142,10 @@
}
}
+ test_chain_with_empty_check();
+ test_chain_with_notification();
+ test_chain_get_with_wait();
+
puts( "*** END OF RTEMS CHAIN API TEST ***" );
rtems_test_exit(0);
}
@@ -59,7 +153,7 @@
/* configuration information */
#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
-#define CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER
+#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
#define CONFIGURE_MAXIMUM_TASKS 1
diff -u rtems/testsuites/sptests/spchain/spchain.doc:1.1 rtems/testsuites/sptests/spchain/spchain.doc:1.2
--- rtems/testsuites/sptests/spchain/spchain.doc:1.1 Wed Jul 1 14:49:08 2009
+++ rtems/testsuites/sptests/spchain/spchain.doc Tue Aug 24 10:01:04 2010
@@ -19,6 +19,13 @@
rtems_chain_append
rtems_chain_insert
rtems_chain_is_tail
+ rtems_chain_append_with_empty_check
+ rtems_chain_prepend_with_empty_check
+ rtems_chain_get_with_empty_check
+ rtems_chain_append_with_notification
+ rtems_chain_prepend_with_notification
+ rtems_chain_get_with_notification
+ rtems_chain_get_with_wait
concepts:
diff -u rtems/testsuites/sptests/spchain/spchain.scn:1.2 rtems/testsuites/sptests/spchain/spchain.scn:1.3
--- rtems/testsuites/sptests/spchain/spchain.scn:1.2 Thu Jul 2 10:24:37 2009
+++ rtems/testsuites/sptests/spchain/spchain.scn Tue Aug 24 10:01:04 2010
@@ -1,4 +1,11 @@
*** TEST OF RTEMS CHAIN API ***
Init - Initialize chain empty
INIT - Verify rtems_chain_insert
+INIT - Verify rtems_chain_append_with_empty_check
+INIT - Verify rtems_chain_prepend_with_empty_check
+INIT - Verify rtems_chain_get_with_empty_check
+INIT - Verify rtems_chain_append_with_notification
+INIT - Verify rtems_chain_prepend_with_notification
+INIT - Verify rtems_chain_get_with_notification
+INIT - Verify rtems_chain_get_with_wait
*** END OF RTEMS CHAIN API TEST ***
--
Generated by Deluxe Loginfo [http://www.codewiz.org/projects/index.html#loginfo] 2.122 by Bernardo Innocenti <bernie at develer.com>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/vc/attachments/20100824/db4e067c/attachment-0001.html>
More information about the vc
mailing list