On dlclose() we need to restore values of all symbols that we've modified in the DSO. The reason is - the DSO might not actually be unloaded, so on the next dlopen() these symbols will have old values, they won't be reinitialized. Perhaps, there can be many reason, why a DSO won't be unloaded. Strictly speaking, it's implementation defined whether to unload an unused DSO or to keep it
| 4476 | state before dlclose(). |
| 4477 | */ |
| 4478 | static void restore_ptr_backup(uint n, st_ptr_backup *backup) |
| 4479 | { |
| 4480 | while (n--) |
| 4481 | (backup++)->restore(); |
| 4482 | } |
| 4483 | |
| 4484 | /**************************************************************************** |
| 4485 | thd specifics service, see include/mysql/service_thd_specifics.h |