diff options
author | Tom Gundersen <teg@jklm.no> | 2014-04-14 17:20:51 +0200 |
---|---|---|
committer | Tom Gundersen <teg@jklm.no> | 2014-04-14 17:53:21 +0200 |
commit | a88f77c406ea56160c1e5a4b39eab1de134abe40 (patch) | |
tree | d1da4d5a0fae4a11dfa5429e65c03b09109a55a6 /src/libsystemd/sd-rtnl/rtnl-internal.h | |
parent | 1403f45ab61d6f2026a3a7a06b52a536c1b7a3b3 (diff) |
sd-rtnl: socket_read - use a read buffer
Rather than allocating/freeing memory for each message read, keep a global read buffer
in the rtnl object. Also, rather than using a fixed size, peek at the pending message
header to get the message size and reallocate as necessary.
Diffstat (limited to 'src/libsystemd/sd-rtnl/rtnl-internal.h')
-rw-r--r-- | src/libsystemd/sd-rtnl/rtnl-internal.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/libsystemd/sd-rtnl/rtnl-internal.h b/src/libsystemd/sd-rtnl/rtnl-internal.h index 2f788d04f6..6dd65b2de7 100644 --- a/src/libsystemd/sd-rtnl/rtnl-internal.h +++ b/src/libsystemd/sd-rtnl/rtnl-internal.h @@ -72,6 +72,9 @@ struct sd_rtnl { unsigned wqueue_size; size_t wqueue_allocated; + struct nlmsghdr *rbuffer; + size_t rbuffer_allocated; + bool processing:1; uint32_t serial; |