--- freem/src/global_bltin.h 2025/04/09 00:43:07 1.8 +++ freem/src/global_bltin.h 2025/04/09 14:34:30 1.9 @@ -1,5 +1,5 @@ /* - * $Id: global_bltin.h,v 1.8 2025/04/09 00:43:07 snw Exp $ + * $Id: global_bltin.h,v 1.9 2025/04/09 14:34:30 snw Exp $ * built-in global handler header * * @@ -24,6 +24,9 @@ * along with FreeM. If not, see . * * $Log: global_bltin.h,v $ + * Revision 1.9 2025/04/09 14:34:30 snw + * Further work on global_bltin.c refactor + * * Revision 1.8 2025/04/09 00:43:07 snw * Exit with fatal error if a header mismatch found * @@ -81,12 +84,16 @@ typedef struct global_handle { int fd; /* file descriptor */ global_header header; - long use_count; /* how many times has it been accessed? */ + long age; short opened; short locked; unsigned long last_block; + unsigned long use_count; /* how many times has it been accessed? */ + unsigned long cache_misses; + unsigned long cache_hits; + short fast_path; char global_name[256]; @@ -98,9 +105,12 @@ typedef struct global_handle { } global_handle; extern global_handle *global_handles_head; - +extern unsigned long gbl_cache_misses; +extern unsigned long gbl_cache_hits; extern inline long gbl_path(char *key, char *buf); +extern void gbl_cache_hit(global_handle *g); +extern void gbl_cache_miss(global_handle *g); extern int gbl_lock(global_handle *g, int type); extern int gbl_unlock(global_handle *g); extern void gbl_close(global_handle *g);