diff --git a/server/TracyEvent.hpp b/server/TracyEvent.hpp index 8346293b..50a772b8 100644 --- a/server/TracyEvent.hpp +++ b/server/TracyEvent.hpp @@ -103,8 +103,10 @@ struct LockEvent int64_t time; int32_t srcloc; uint8_t thread; - uint8_t lockingThread; Type type; + // All above is read/saved as-is. + + uint8_t lockingThread; uint8_t lockCount; uint64_t waitList; }; diff --git a/server/TracyWorker.cpp b/server/TracyWorker.cpp index 30146a16..47bbdc33 100644 --- a/server/TracyWorker.cpp +++ b/server/TracyWorker.cpp @@ -334,10 +334,7 @@ Worker::Worker( FileRead& f, EventType::Type eventMask ) for( uint64_t i=0; i(); - f.Read( &lev->time, sizeof( lev->time ) ); - f.Read( &lev->srcloc, sizeof( lev->srcloc ) ); - f.Read( &lev->thread, sizeof( lev->thread ) ); - f.Read( &lev->type, sizeof( lev->type ) ); + f.Read( lev, sizeof( LockEvent::time ) + sizeof( LockEvent::srcloc ) + sizeof( LockEvent::thread ) + sizeof( LockEvent::type ) ); *ptr++ = lev; } } @@ -346,10 +343,7 @@ Worker::Worker( FileRead& f, EventType::Type eventMask ) for( uint64_t i=0; i(); - f.Read( &lev->time, sizeof( lev->time ) ); - f.Read( &lev->srcloc, sizeof( lev->srcloc ) ); - f.Read( &lev->thread, sizeof( lev->thread ) ); - f.Read( &lev->type, sizeof( lev->type ) ); + f.Read( lev, sizeof( LockEventShared::time ) + sizeof( LockEventShared::srcloc ) + sizeof( LockEventShared::thread ) + sizeof( LockEventShared::type ) ); *ptr++ = lev; } } @@ -361,9 +355,7 @@ Worker::Worker( FileRead& f, EventType::Type eventMask ) for( uint64_t i=0; i(); - f.Read( &lev->time, sizeof( lev->time ) ); - f.Read( &lev->srcloc, sizeof( lev->srcloc ) ); - f.Read( &lev->thread, sizeof( lev->thread ) ); + f.Read( lev, sizeof( LockEvent::time ) + sizeof( LockEvent::srcloc ) + sizeof( LockEvent::thread ) ); f.Skip( sizeof( uint8_t ) ); f.Read( &lev->type, sizeof( lev->type ) ); f.Skip( sizeof( uint8_t ) + sizeof( uint64_t ) ); @@ -375,9 +367,7 @@ Worker::Worker( FileRead& f, EventType::Type eventMask ) for( uint64_t i=0; i(); - f.Read( &lev->time, sizeof( lev->time ) ); - f.Read( &lev->srcloc, sizeof( lev->srcloc ) ); - f.Read( &lev->thread, sizeof( lev->thread ) ); + f.Read( lev, sizeof( LockEventShared::time ) + sizeof( LockEventShared::srcloc ) + sizeof( LockEventShared::thread ) ); f.Skip( sizeof( uint8_t ) ); f.Read( &lev->type, sizeof( lev->type ) ); f.Skip( sizeof( uint8_t ) + sizeof( uint64_t ) * 3 ); @@ -2138,10 +2128,7 @@ void Worker::Write( FileWrite& f ) f.Write( &sz, sizeof( sz ) ); for( auto& lev : v.second.timeline ) { - f.Write( &lev->time, sizeof( lev->time ) ); - f.Write( &lev->srcloc, sizeof( lev->srcloc ) ); - f.Write( &lev->thread, sizeof( lev->thread ) ); - f.Write( &lev->type, sizeof( lev->type ) ); + f.Write( lev, sizeof( LockEvent::time ) + sizeof( LockEvent::srcloc ) + sizeof( LockEvent::thread ) + sizeof( LockEvent::type ) ); } }