34 lines
1.5 KiB
C
34 lines
1.5 KiB
C
// ============================================================================
|
|
// Phase 6: Front FastLane - ENV Gate Box (Implementation)
|
|
// ============================================================================
|
|
//
|
|
// Purpose: Optional refresh function for bench_profile putenv() synchronization
|
|
//
|
|
// Note: The main getters (front_fastlane_enabled, front_fastlane_class_mask)
|
|
// are inline in the header for zero overhead in hot paths.
|
|
// This .c file provides cold-path refresh functions if needed.
|
|
//
|
|
// ============================================================================
|
|
|
|
#include "front_fastlane_env_box.h"
|
|
#include <stdlib.h>
|
|
#include <stdatomic.h>
|
|
|
|
// Refresh from ENV (for bench_profile putenv() synchronization)
|
|
// Called after bench_profile changes ENV variables via putenv()
|
|
void front_fastlane_env_refresh_from_env(void) {
|
|
// Force re-read of ENV variables on next call
|
|
// Note: The actual getenv() is done in the inline functions in the header
|
|
// This just resets the cache to trigger re-initialization
|
|
|
|
// Access the static atomics via extern declarations
|
|
// (The actual variables live in the header inline functions' static scope)
|
|
// Since we can't access static variables in inline functions from here,
|
|
// we rely on the fact that ENV changes will be picked up naturally
|
|
// on the next call if the cache is cleared.
|
|
|
|
// For now, this is a no-op placeholder.
|
|
// If bench_profile needs synchronization, we'll need to refactor
|
|
// the cache to be file-scope globals instead of function-local statics.
|
|
}
|