View Issue Details

IDProjectCategoryView StatusLast Update
0000024freemGlobal Handlerpublic2025-04-11 14:27
ReporterSerena Willis Assigned ToSerena Willis  
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionfixed 
Product Versioncvs-current 
Target VersionfutureFixed in Version0.64.0 
Summary0000024: Make global file descriptor caching work properly
DescriptionAlways re-opens globals, whether or not they're already opened.

See global_bltin.c#601-659
TagsNo tags attached.
M Dialect

Activities

Serena Willis

2025-04-08 08:50

administrator   ~0000011

Refactoring global handler:
* The global handler now works on a pointer to a global_handle struct, which is stored in a linked list
* The struct contains aging, last block, global name/path, usage count, and fast path information
* set_sym and get_sym work, both on existing and new globals
* There are discrete APIs for opening, locking, unlocking, and closing globals

To come:
* Look into fast path optimization usage in global_bltin() (the gotos are mostly gone due to early-stage refactoring)
* Add discrete APIs for reading and writing blocks
* Add global file header (to contain magic value, block length, format version, host triplet, backup info, journal info, etc.)
* Make BLOCKLEN variable and store in overall file header and global_handle struct

Serena Willis

2025-04-11 14:27

administrator   ~0000014

This descriptor caching is working much better than what existed previously, and now applies for all globals ever opened within a process.

Issue History

Date Modified Username Field Change
2025-04-06 13:06 Serena Willis New Issue
2025-04-06 13:06 Serena Willis Status new => assigned
2025-04-06 13:06 Serena Willis Assigned To => Serena Willis
2025-04-08 08:50 Serena Willis Note Added: 0000011
2025-04-11 14:27 Serena Willis Status assigned => closed
2025-04-11 14:27 Serena Willis Resolution open => fixed
2025-04-11 14:27 Serena Willis Fixed in Version => 0.64.0
2025-04-11 14:27 Serena Willis Note Added: 0000014