The current time must be stored globally in order for gettimeofday to work, however I am not sure if the function modifies any global state so that concurrent execution is u
No data is modified with this call. You just get a copy. Hence its completely thread safe.
gettimeofday is thread safe.
The (posix) functions listed here might not be, gettimeofday is not one of them.
In glibc the gettimeofday(2) is a simple wrapper around a system call (it's a vsyscall actually). No data is touched in the userland. It is thread-safe.
Yes, it is thread-safe. The only data it modifies is in the structures you pass pointers to, so an implementation that wasn't thread-safe would have to be doing something spooky.
Best of luck on your project.