message: mutexes in structs should be pointers

the sync condition was only using the mutex by addres, the struct's mutex
was using a copy of the mutex. hence, the condition was locking a different
mutex.