diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2012-12-21 10:17:34 +0100 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2012-12-21 15:40:27 +0100 |
commit | fe1dc221b668d6046c0c7b1b09f64d817c764300 (patch) | |
tree | 81733be2e4e3f059a4e26cc356f75d17ddd8aa5e /cpukit/score | |
parent | score: Add rtems_chain_node_count_unprotected() (diff) | |
download | rtems-fe1dc221b668d6046c0c7b1b09f64d817c764300.tar.bz2 |
score: Add _Objects_Active_count()
Diffstat (limited to 'cpukit/score')
-rw-r--r-- | cpukit/score/Makefile.am | 3 | ||||
-rw-r--r-- | cpukit/score/include/rtems/score/object.h | 11 | ||||
-rw-r--r-- | cpukit/score/src/objectactivecount.c | 29 |
3 files changed, 42 insertions, 1 deletions
diff --git a/cpukit/score/Makefile.am b/cpukit/score/Makefile.am index cc0cbd5c35..d9471c3770 100644 --- a/cpukit/score/Makefile.am +++ b/cpukit/score/Makefile.am @@ -190,7 +190,8 @@ libscore_a_SOURCES += src/objectallocate.c src/objectclose.c \ src/objectshrinkinformation.c src/objectgetnoprotection.c \ src/objectidtoname.c src/objectgetnameasstring.c src/objectsetname.c \ src/objectgetinfo.c src/objectgetinfoid.c src/objectapimaximumclass.c \ - src/objectnamespaceremove.c + src/objectnamespaceremove.c \ + src/objectactivecount.c ## SCHEDULER_C_FILES libscore_a_SOURCES += src/scheduler.c diff --git a/cpukit/score/include/rtems/score/object.h b/cpukit/score/include/rtems/score/object.h index f2f4469368..91173c335a 100644 --- a/cpukit/score/include/rtems/score/object.h +++ b/cpukit/score/include/rtems/score/object.h @@ -862,6 +862,17 @@ void _Objects_Close( Objects_Control *the_object ); +/** + * @brief Returns the count of active objects. + * + * @param[in] information The object information table. + * + * @return The count of active objects. + */ +Objects_Maximum _Objects_Active_count( + const Objects_Information *information +); + /* * Pieces of object.inl are promoted out to the user */ diff --git a/cpukit/score/src/objectactivecount.c b/cpukit/score/src/objectactivecount.c new file mode 100644 index 0000000000..3b148235f2 --- /dev/null +++ b/cpukit/score/src/objectactivecount.c @@ -0,0 +1,29 @@ +/* + * Copyright (c) 2012 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/score/object.h> + +Objects_Maximum _Objects_Active_count( + const Objects_Information *information +) +{ + size_t inactive = _Chain_Node_count_unprotected( &information->Inactive ); + size_t maximum = information->maximum; + + return (Objects_Maximum) ( maximum - inactive ); +} |