|
|
| version 1.6, 2025/03/24 04:13:11 | version 1.7, 2025/03/26 15:17:12 |
|---|---|
| Line 24 | Line 24 |
| * along with FreeM. If not, see <https://www.gnu.org/licenses/>. | * along with FreeM. If not, see <https://www.gnu.org/licenses/>. |
| * | * |
| * $Log$ | * $Log$ |
| * Revision 1.7 2025/03/26 15:17:12 snw | |
| * Fall back to global-backed SSVNs when memory-backed globals fail in attempt to fix Tru64 | |
| * | |
| * Revision 1.6 2025/03/24 04:13:11 snw | * Revision 1.6 2025/03/24 04:13:11 snw |
| * Replace action macro dat with fra_dat to avoid symbol conflict on OS/2 | * Replace action macro dat with fra_dat to avoid symbol conflict on OS/2 |
| * | * |
| Line 55 | Line 58 |
| symbol-table calls */ | symbol-table calls */ |
| /* #define DEBUG_SYM */ | /* #define DEBUG_SYM */ |
| short st_use_shm = FALSE; | |
| short restoring_consts = FALSE; | short restoring_consts = FALSE; |
| int semid_symtab; | int semid_symtab; |
| Line 137 void symtab_init (void) | Line 141 void symtab_init (void) |
| fprintf (stderr, "symtab_init: allocating partition for memory-backed globals\r\n"); | fprintf (stderr, "symtab_init: allocating partition for memory-backed globals\r\n"); |
| mbpartition = (char *) shm_alloc ((size_t) PSIZE + 2); | mbpartition = (char *) shm_alloc ((size_t) PSIZE + 2); |
| NULLPTRCHK(mbpartition,"symtab_init"); | if (mbpartition != NULL) { |
| shm_config->hdr->use_mb_globals = TRUE; | |
| } | |
| else { | |
| fprintf (stderr, "symtab_init: falling back to global-backed structured system variables\r\n"); | |
| shm_config->hdr->use_mb_globals = FALSE; | |
| } | |
| shm_config->hdr->partition = mbpartition; | shm_config->hdr->partition = mbpartition; |
| Line 207 void symtab_shm (short action, char *key | Line 217 void symtab_shm (short action, char *key |
| unsigned long stptrs[128]; | unsigned long stptrs[128]; |
| register int i; | register int i; |
| char *old_partition = partition; | char *old_partition = partition; |
| if (shm_config->hdr->use_mb_globals == FALSE) { | |
| symtab_bltin (action, key, data); | |
| return; | |
| } | |
| partition = mbpartition; | partition = mbpartition; |
| writing_mb = TRUE; | writing_mb = TRUE; |