tags:

views:

97

answers:

4

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
+7  A: 

gettimeofday is thread safe.

The (posix) functions listed here might not be, gettimeofday is not one of them.

nos
+1 for citation instead of just "it's safe because it shouldn't need to do anything unsafe..."
R..
+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
+1  A: 

No data is modified with this call. You just get a copy. Hence its completely thread safe.

Praveen S