Mario Charest
|
RE: a] how to cancel /stop the Priority Inheritance Protocol / or
Priority Ceiling Protocol to implement this approach.. b]How to make copy
of Resource
|
Mario Charest
10/12/2011 8:22 AM
post89326
|
RE: a] how to cancel /stop the Priority Inheritance Protocol / or
Priority Ceiling Protocol to implement this approach.. b]How to make copy
of Resource
> -----Message d'origine-----
> De : Atul Kumbhar [mailto:community-noreply@qnx.com]
> Envoyé : 11 octobre 2011 21:24
> À : general-ide
> Objet : a] how to cancel /stop the Priority Inheritance Protocol / or Priority
> Ceiling Protocol to implement this approach.. b]How to make copy of
> Resource
>
> Please see the attachment ...
> To implement / Stimulate the said concept ..
> 1]i am developing Resource Manager for handling the resource(e.g. serial
> port)...As all resources cannot follow this approach..
> 2]then create client to generate threads of only TWO priorities High and
> Low...
> 3] the problem is
> a] how to cancel /stop the Priority Inheritance Protocol / or Priority Ceiling
> Protocol to implement this approach..
Why would you want to do that? At any rate you can turn off priority inheritance by specifying the
_NTO_CHF_FIXED_PRIORITY flag when you call ChannelCreate().
> b]How to make copy of Resource (i think using multiple thread RM can
> handle this)..
> Please share our views/suggestions...
>
>
>
>
> _______________________________________________
>
> General
> http://community.qnx.com/sf/go/post89321
|
|
|
Edward Lee
|
Re: a] how to cancel /stop the Priority Inheritance Protocol / or Priority Ceiling Protocol to implement this approach.. b]How to make copy of Resource
|
Edward Lee
10/12/2011 10:50 AM
post89334
|
Re: a] how to cancel /stop the Priority Inheritance Protocol / or Priority Ceiling Protocol to implement this approach.. b]How to make copy of Resource
The way QNX resource managers operate is that it will inherit the priority of the calling thread. However, as per the
example you have provided, if T(H) requests for the resource manager, while it is already busy processing the request
from T(L), the resource manager does not suspend the processing currently being performed for T(L).
Instead, the microkernel will modify the resource manager priority to the priority level of T(H), allowing the
processing for T(L) to unblock and run to completion, and become available to handle the request from T(H).
The response to T(L) is sent, but stored in the microkernel until all processing for T(H) has completed. Only at that
time, will T(L) then receive response message.
|
|
|