|
170 | 170 | * H5CX_TEST_SET_PROP and H5CX_SET_PROP macros to work properly.
|
171 | 171 | *
|
172 | 172 | * - "Return-and-read" properties that are returned to the application to send out introspection information,
|
173 |
| - * but are also queried by the library internally. Internal queries always retrieve the original value |
174 |
| - * from the property list, and update the context's value to match. These properties have both a 'valid' |
175 |
| - * and 'set' flag. <foo>_valid is true if the field has ever been populated from its underlying property |
176 |
| - * list. <foo>_set flag is true if this field has ever been set on the context for application |
177 |
| - * introspection. The naming of these fields is important for the H5CX_RETRIEVE_PROP_VALID_SET macro to |
178 |
| - * work properly. |
179 |
| - * |
180 |
| - * Note that if a set operation is followed by an internal read, it is possible for <foo>_set to be true |
181 |
| - * while the value in the context matches the underlying property list, resulting in a redundant write to |
182 |
| - * the property list when the context is popped. Similarly, if a field has been set on the context but |
183 |
| - * never read internally, <foo>_valid will be false despite the context containing a meaningful value. |
| 173 | + * but are also queried by the library internally. If the context value has been 'set' by an accessor, |
| 174 | + * all future queries will return the stored value from the context, to avoid later queries overwriting |
| 175 | + * that stored value with the value from the property list. |
| 176 | + * |
| 177 | + * These properties have both a 'valid' and 'set' flag. <foo>_valid is true if the field has ever been |
| 178 | + * populated from its underlying property list. <foo>_set flag is true if this field has ever been set on |
| 179 | + * the context for application introspection. The naming of these fields is important for the |
| 180 | + * H5CX_RETRIEVE_PROP_VALID_SET macro to work properly. |
| 181 | + * |
| 182 | + * If a field has been set on the context but never read internally, <foo>_valid will be false |
| 183 | + * despite the context containing a meaningful cached value. |
184 | 184 | */
|
185 | 185 | typedef struct H5CX_t {
|
186 | 186 | /* DXPL */
|
|
0 commit comments