diff options
author | Zhongwei Yao <ashi08104@gmail.com> | 2013-08-05 09:20:45 -0400 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2013-08-06 14:11:38 +0200 |
commit | b5c906429f6e67452eec1b0089ac7a204ff998ee (patch) | |
tree | 5e24aed5499922f6d3fa6e1559f5bc7e83fba4b2 /cpukit/posix/include/rtems/posix/threadsup.h | |
parent | bsp/realview-pbx-a9: Enable fast idle clock (diff) | |
download | rtems-b5c906429f6e67452eec1b0089ac7a204ff998ee.tar.bz2 |
Unlimited objects support for POSIX keys
This patch enables unlimited model in POSIX key manger and have a decent
runtime on POSIX key searching, adding and deleting operations. Memory
overhead is lower than current implementation when the size of key and key
value becomes big.
Diffstat (limited to 'cpukit/posix/include/rtems/posix/threadsup.h')
-rw-r--r-- | cpukit/posix/include/rtems/posix/threadsup.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/cpukit/posix/include/rtems/posix/threadsup.h b/cpukit/posix/include/rtems/posix/threadsup.h index 414b46fd83..7bd1f934ad 100644 --- a/cpukit/posix/include/rtems/posix/threadsup.h +++ b/cpukit/posix/include/rtems/posix/threadsup.h @@ -83,6 +83,15 @@ typedef struct { /** This is the set of cancelation handlers. */ Chain_Control Cancellation_Handlers; + /** + * This is the thread key value chain's control, which is used + * to track all key value for specific thread, and when thread + * exits, we can remove all key value for specific thread by + * iterating this chain, or we have to search a whole rbtree, + * which is inefficient. + */ + Chain_Control Key_Chain; + } POSIX_API_Control; /** |