Rev 112 | Rev 117 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 112 | Rev 114 | ||
---|---|---|---|
Line 79... | Line 79... | ||
79 | <listitem> |
79 | <listitem> |
80 | <para>Notification queue</para> |
80 | <para>Notification queue</para> |
81 | </listitem> |
81 | </listitem> |
82 | </itemizedlist> |
82 | </itemizedlist> |
83 | 83 | ||
- | 84 | <figure float="1"> |
|
- | 85 | <mediaobject id="ipc1"> |
|
- | 86 | <imageobject role="pdf"> |
|
- | 87 | <imagedata fileref="images/ipc1.pdf" format="PDF" /> |
|
- | 88 | </imageobject> |
|
- | 89 | ||
- | 90 | <imageobject role="html"> |
|
- | 91 | <imagedata fileref="images/ipc1.png" format="PNG" /> |
|
- | 92 | </imageobject> |
|
- | 93 | ||
- | 94 | <imageobject role="fop"> |
|
- | 95 | <imagedata fileref="images/ipc1.svg" format="SVG" /> |
|
- | 96 | </imageobject> |
|
- | 97 | </mediaobject> |
|
- | 98 | ||
- | 99 | <title>Low level IPC</title> |
|
- | 100 | </figure> |
|
- | 101 | ||
84 | <para>The communication between task A, that is connected to task B |
102 | <para>The communication between task A, that is connected to task B |
85 | looks as follows: Task A sends a message over it's phone to the target |
103 | looks as follows: Task A sends a message over it's phone to the target |
86 | asnwerbox. The message is saved in task B incoming call queue. When task |
104 | asnwerbox. The message is saved in task B incoming call queue. When task |
87 | B fetches the message for processing, it is automatically moved into the |
105 | B fetches the message for processing, it is automatically moved into the |
88 | dispatched call queue. After the server decides to answer the message, |
106 | dispatched call queue. After the server decides to answer the message, |
Line 209... | Line 227... | ||
209 | control is transfered to this manager task. The manager tasks pops |
227 | control is transfered to this manager task. The manager tasks pops |
210 | messages from the answerbox and puts them into appropriate queues of |
228 | messages from the answerbox and puts them into appropriate queues of |
211 | running tasks. If a task waiting for a message is not running, the |
229 | running tasks. If a task waiting for a message is not running, the |
212 | control is transferred to it.</para> |
230 | control is transferred to it.</para> |
213 | 231 | |
|
- | 232 | <figure float="1"> |
|
- | 233 | <mediaobject id="ipc2"> |
|
- | 234 | <imageobject role="pdf"> |
|
- | 235 | <imagedata fileref="images/ipc2.pdf" format="PDF" /> |
|
- | 236 | </imageobject> |
|
- | 237 | ||
- | 238 | <imageobject role="html"> |
|
- | 239 | <imagedata fileref="images/ipc2.png" format="PNG" /> |
|
- | 240 | </imageobject> |
|
- | 241 | ||
- | 242 | <imageobject role="fop"> |
|
- | 243 | <imagedata fileref="images/ipc2.svg" format="SVG" /> |
|
- | 244 | </imageobject> |
|
- | 245 | </mediaobject> |
|
- | 246 | ||
- | 247 | <title>Single point of entry</title> |
|
- | 248 | </figure> |
|
- | 249 | ||
- | 250 | ||
214 | <para>Very similar situation arises when a task decides to send a lot of |
251 | <para>Very similar situation arises when a task decides to send a lot of |
215 | messages and reaches kernel limit of asynchronous messages. In such |
252 | messages and reaches kernel limit of asynchronous messages. In such |
216 | situation 2 remedies are available - the userspace liberary can either |
253 | situation 2 remedies are available - the userspace liberary can either |
217 | cache the message locally and resend the message when some answers |
254 | cache the message locally and resend the message when some answers |
218 | arrive, or it can block the thread and let it go on only after the |
255 | arrive, or it can block the thread and let it go on only after the |