Age | Commit message (Collapse) | Author | Files | Lines |
|
Change-Id: Iac5066ff97d26de1660c38b9cd3f17781a521823
Reviewed-on: https://code.wireshark.org/review/6949
Reviewed-by: Evan Huus <eapache@gmail.com>
|
|
Lua-created tvbuffs should be kept around for the duration of pinfo's
lifetime, instead of only for the duration of frame dissection. So
instead of using the frame dissector's frame_end_routine, we'll register
a callback to wmem for pinfo pool's allocator.
Bug: 10888
Change-Id: I3e9db671c3f2a7cab9e258aca17f3be8acaf2417
Reviewed-on: https://code.wireshark.org/review/6768
Petri-Dish: Hadriel Kaplan <hadrielk@yahoo.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Evan Huus <eapache@gmail.com>
Reviewed-by: Hadriel Kaplan <hadrielk@yahoo.com>
Tested-by: Hadriel Kaplan <hadrielk@yahoo.com>
|
|
Change-Id: I9bfc57cb6b6ab6962b80ff58d98eb351d6f69829
Reviewed-on: https://code.wireshark.org/review/4140
Reviewed-by: Gerald Combs <gerald@wireshark.org>
|
|
Change-Id: Ief20460ed8ec1b4bd1286cc2a5490d9aeefdf98f
Reviewed-on: https://code.wireshark.org/review/1643
Reviewed-by: Evan Huus <eapache@gmail.com>
|
|
Discovered while reviewing Ibd3efb92a203861f507ce71bc8d04d19d9d38a93
Change-Id: Ie4dfc1b9b7a99f14657148ed5a935bbb079c2b4e
Reviewed-on: https://code.wireshark.org/review/415
Reviewed-by: Evan Huus <eapache@gmail.com>
|
|
Change-Id: I28a376f7e0fd90971f65ae9c1105a3ec85221470
Reviewed-on: https://code.wireshark.org/review/204
Reviewed-by: Jeff Morriss <jeff.morriss.ws@gmail.com>
|
|
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=9591
svn path=/trunk/; revision=54387
|
|
add_new_data_source().
svn path=/trunk/; revision=50911
|
|
Also a bit of misc. refactoring of the stack while I was there, and doc tweaks.
svn path=/trunk/; revision=50769
|
|
The overhead is not large, and it makes append much faster (O(1) vs O(n)).
It also will make a queue easy to add, which I need for a dissector I'm
writing...
svn path=/trunk/; revision=50744
|
|
svn path=/trunk/; revision=50400
|
|
svn path=/trunk/; revision=50020
|
|
svn path=/trunk/; revision=49967
|
|
they're in doxygen instead.
svn path=/trunk/; revision=49583
|
|
actual wmem_allocator_t structure. This simplifies the internal API and
deduplicates a few alloc/free calls in the individual allocator implementations.
I'd originally made the allocators responsible for this on purpose with the
idea that they'd be able to optimize something clever based on the type of
allocator, but that's clearly more work and complexity than it's worth given
the small number of allocators we create/destroy.
svn path=/trunk/; revision=49512
|
|
for which a callback is registered is also a fairly stupid thing to do.
svn path=/trunk/; revision=49354
|
|
recurring callbacks, I suspect most other potential uses will be once-only, so
make that possible, and improve the documentation on the remaining issues.
Also separate out the code into its own files and the testing into its own
test case.
svn path=/trunk/; revision=49209
|
|
the behaviour emem has for seasonal trees, which is that the master tree
structure is not actually seasonal - it is permanent. When the seasonal memory
pool is cleared, the root node pointer in all of these permanent trees is set
to NULL, and the pool takes care of actually freeing the nodes.
Wmem can now mimic this by allocating the tree header struct in epan_scope(),
allocating any node structs in file_scope(), and registering a callback on
file_scope() that NULLs the pointer in the epan_scope() header. Yes, this is
confusing, but it seemed simpler than adding manual callback registrations to
every single dissector that currently uses seasonal trees.
The callbacks may also be useful for other things that need cleanup (I'm
thinking resource handles stored in wmem memory that need to be fclosed or
what-have-you before they the handle is lost).
As indicated by the number of caveats in README.wmem, the implementation
probably needs a bit of work to make it safer/saner/more-useful. Thoughts
(or patches!) in this direction are more than welcome.
svn path=/trunk/; revision=49205
|
|
all of the really important stuff is there, and emem doesn't provide it at all
so it's not blocking migration.
svn path=/trunk/; revision=49103
|
|
- better tests
- fix a bug caught by the better tests
- implement append_c and append_unichar, with tests
Wmem string-buffers now have feature parity with their emem equivalents, so
remove them from the TODO list.
svn path=/trunk/; revision=49060
|
|
be much easier to keep in sync with the actual code.
svn path=/trunk/; revision=49040
|
|
svn path=/trunk/; revision=48990
|
|
README.wmem in a couple of places.
svn path=/trunk/; revision=48251
|
|
(removed in r48218) which did nothing particularly useful. Also lets us remove
another debugging environment variable.
svn path=/trunk/; revision=48219
|
|
svn path=/trunk/; revision=47549
|
|
and document the fact that allocator authors don't have to care.
svn path=/trunk/; revision=47220
|
|
a GSList. This permits it to implement the new realloc and free functions. Also
fill in an empty gc function, since there isn't much it can do as far as
garbage-collection goes.
svn path=/trunk/; revision=47169
|
|
by any particular allocator) and better document the entire structure.
svn path=/trunk/; revision=47163
|
|
svn path=/trunk/; revision=47101
|
|
svn path=/trunk/; revision=46941
|
|
svn path=/trunk/; revision=46847
|
|
Use the strict allocator when fuzzing (at least until the fuzz-bot starts
running everything under valgrind).
svn path=/trunk/; revision=46829
|
|
svn path=/trunk/; revision=46817
|
|
svn path=/trunk/; revision=46815
|
|
svn path=/trunk/; revision=46625
|
|
Re-implement the stack as a wrapper for that.
svn path=/trunk/; revision=46607
|
|
determine the desired type. This has two advantages over the old way:
- just one environment variable for valgrind to override in order to guarantee
that ALL allocators use memory it can track, and just one place to check that
variable
- allocator owners no longer have to include headers specific to their
allocator, allowing them to change allocators without adjusting all their
#includes
svn path=/trunk/; revision=46604
|
|
svn path=/trunk/; revision=46601
|
|
svn path=/trunk/; revision=46472
|
|
svn path=/trunk/; revision=46332
|
|
svn path=/trunk/; revision=46177
|
|
svn path=/trunk/; revision=46175
|
|
svn path=/trunk/; revision=46169
|
|
svn path=/trunk/; revision=45989
|
|
svn path=/trunk/; revision=45978
|
|
svn path=/trunk/; revision=45882
|
|
svn path=/trunk/; revision=45832
|