static void load_prefetch_data() { DIR *dir = opendir("/etc/launch_cache"); if (dir == NULL) return; struct dirent *dirent; while ((dirent = readdir(dir)) != NULL) { if (dirent->d_name[0] == '.') continue; Session *session = new Session(dirent->d_name); if (session->LoadFromDirectory(dirfd(dir)) != B_OK) { delete session; continue; } if (session->IsMainSession()) { session->Next() = sMainPrefetchSessions; sMainPrefetchSessions = session; } else { hash_insert(sPrefetchHash, session); } } closedir(dir); }