It is possible to checkpoint a user task that is linked to a library, but only if the task is not currently executing a library procedure. When a user task linked to a library is checkpointed, the checkpoint records the values of the library attributes. However, the checkpoint does not store any information about the state of the library or its contents.
When the user task restarts, the task is not immediately relinked to the library. The library link is reestablished the first time the user task calls a library procedure.
You must be aware that the values of global objects in the library might have changed since the user task was checkpointed. Global objects in the library might have changed for any of the following reasons:
-
The user task might have invoked a library procedure after the checkpoint and before the user task terminated. This library procedure might have included statements that modified the values of global objects in the library.
-
If the library was frozen with duration of TEMPORARY and a sharing option of PRIVATE, then the library thaws when the user task terminates, and the system removes the library process. The values of all global objects in the library are lost when the library terminates. When the user task restarts, its first attempt to use the library causes the creation of a new instance of the library.
-
If the library has a sharing option of SHAREDBYALL, then other tasks have access to the library and might make changes to global objects in the library after the original user task is checkpointed.

