diff options
author | Mattias Andrée <maandree@operamail.com> | 2014-04-28 18:06:58 +0200 |
---|---|---|
committer | Mattias Andrée <maandree@operamail.com> | 2014-04-28 18:08:09 +0200 |
commit | 073faa7aeca239e2bf5422f6961241009a080f4e (patch) | |
tree | a06954d18b719f6dbeb787beaf76b4dedb42207c /src/libmdsserver/fd-table.c | |
parent | use sig_atomic_t for running (diff) | |
download | mds-073faa7aeca239e2bf5422f6961241009a080f4e.tar.gz mds-073faa7aeca239e2bf5422f6961241009a080f4e.tar.bz2 mds-073faa7aeca239e2bf5422f6961241009a080f4e.tar.xz |
add version when marshaling
Signed-off-by: Mattias Andrée <maandree@operamail.com>
Diffstat (limited to '')
-rw-r--r-- | src/libmdsserver/fd-table.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/libmdsserver/fd-table.c b/src/libmdsserver/fd-table.c index 78876ce..6514289 100644 --- a/src/libmdsserver/fd-table.c +++ b/src/libmdsserver/fd-table.c @@ -253,7 +253,7 @@ void fd_table_clear(fd_table_t* restrict this) size_t fd_table_marshal_size(const fd_table_t* restrict this) { size_t bitcap = (this->capacity + 63) / 64; - return (this->capacity + 2) * sizeof(size_t) + bitcap * sizeof(uint64_t); + return (this->capacity + 2) * sizeof(size_t) + bitcap * sizeof(uint64_t) + sizeof(int); } @@ -267,6 +267,9 @@ void fd_table_marshal(const fd_table_t* restrict this, char* restrict data) { size_t bitcap = (this->capacity + 63) / 64; + ((int*)data)[0] = FD_TABLE_T_VERSION; + data += sizeof(int) / sizeof(char); + ((size_t*)data)[0] = this->capacity; ((size_t*)data)[1] = this->size; data += 2 * sizeof(size_t) / sizeof(char); @@ -291,6 +294,9 @@ int fd_table_unmarshal(fd_table_t* restrict this, char* restrict data, remap_fun { size_t bitcap; + /* ((int*)data)[0] == FD_TABLE_T_VERSION */ + data += sizeof(int) / sizeof(char); + this->capacity = ((size_t*)data)[0]; this->size = ((size_t*)data)[1]; data += 2 * sizeof(size_t) / sizeof(char); |