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 undefined.
+2
A:
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.
Ratzkewatzke
2010-07-10 17:53:28
+7
A:
gettimeofday is thread safe.
The (posix) functions listed here might not be, gettimeofday is not one of them.
nos
2010-07-10 17:54:14
+1 for citation instead of just "it's safe because it shouldn't need to do anything unsafe..."
R..
2010-07-10 18:21:03
+2
A:
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.
Nikolai N Fetissov
2010-07-10 17:59:39
+1
A:
No data is modified with this call. You just get a copy. Hence its completely thread safe.
Praveen S
2010-07-10 18:02:12