Use for loop rather than while for timeout on non-runloop platforms (temporary).
Fixed whitespace.
Move internal function above class.
Use pthread_equal to compare pthread_ts for equality.
Remove duplicate #include.
Added NSystemUtilities::GetEnvironment to get an environment variable.
Use standard system error name.
Use NSystemUtilities::GetEnvironment rather than getenv.
Hide gUserDirs in GetUserDir, uses iterator rather than [] for lookup to avoid inserting blank entries.
Reformat to add whitespace.
Remove temporary path step, just create the file directly.
Switch back to path approach.
Use regexp to parse user dirs.