Differences
This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| en:software:qview:qview_6:qcl_library:st10strstr [2020/12/29 17:55] – created qem202 | en:software:qview:qview_6:qcl_library:st10strstr [2020/12/29 18:01] (current) – [IMPLEMENTATION] qem202 | ||
|---|---|---|---|
| Line 13: | Line 13: | ||
| ^IN/ | ^IN/ | ||
| - | | IN | ARRGBL | + | | IN | ARRGBL |
| - | | IN | ARRGBL | + | | IN | ARRGBL |
| - | | IN | | + | | IN | |
| - | Description: | ||
| - | |||
| - | Every critical section bases its inner workings on a proprietary data structure called //pool// informations.\\ | ||
| - | Every critical section will have its own //pool// that must be initialized before it can be used.\\ | ||
| - | The //pool// consists of an array of bytes where the number of items depends on the number of task unit that will use more two-byte fixed header. | ||
| - | |||
| - | |||
| - | Inglese | ||
| - | Italiano | ||
| - | If for example a given critical section is used in only two drives task you create an application pool of 4 byte making sure that a unit must use the ID 1 while the second the ID 2. | ||
| - | |||
| - | The ID are progressive starting from 1 and identify the location of the information in the pool, then pass an ID with index not available in the pool means invalidating the call and how it works. | ||
| - | |||
| - | **NB**: To avoid problems it is advisable to size the pool information with sufficient size to address all drives task. | ||
| - | |||
| - | === Example === | ||
| - | |||
| - | In the following example initializes an information pool used then to a critical section. | ||
| - | |||
| - | |||
| - | \\ | ||
| - | **configuration unit:** | ||
| - | <code QCL> | ||
| - | ; critical section consts | ||
| - | CONST | ||
| - | CS_POOL_HEADER 2 ; | ||
| - | CS_POOL_SIZE 10 ; | ||
| - | |||
| - | ARRGBL | ||
| - | LockPool B CS_POOL_HEADER + CS_POOL_SIZE | ||