[GSoC]deal with the critical region in POSIX Key

Ashi ashi08104 at gmail.com
Mon Jul 2 10:50:52 UTC 2012


Hi,all.
I'm thinking about how to deal with critical region in my POSIX key
project. My current approach is the one-rbtree approach, that is the
critical region are one global rbtree which contains all the keys' data
value and the chain-list in each thread's TCB. I'm confused with
_Thread_Disable_dispatch() and _ISR_Disable(_level). What's the difference
between them? Does _ISR_Disable() disable thread dispatch? I also find some
operations like _RBTree_Find(), _Chain_Insert() in the RBTree API and Chain
API call _ISR_Disable(), and some operation like _Objects_Get() which is
called by _POSIX_Keys_Get() calls _Thread_Diable_dispath().
BTW, I also checked the IRC meeting log, and find Joel has said "allocating
memory from the workspace is a different lock than thread disable
dispatch". Joel, what are the details of the different lock?

-- 
Best wishes!
Zhongwei Yao
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/devel/attachments/20120702/909830f3/attachment.html>


More information about the devel mailing list