Age | Commit message (Collapse) | Author | Files | Lines |
|
A talloc pool is a chunk of memory that can be used as a context for further
talloc calls. Allocations with the pool as the parent just chew from that
memory by incrementing a pointer. If the talloc pool is full, then we fall back
to the normal system-level malloc(3) to get memory.
The use case for talloc pools is the transient memory that is used for handling
a single SMB request. Incrementing a pointer will be way faster than any malloc
implementation.
There is a downside of this: If you use talloc_steal() to move something out of
the pool, the whole pool memory is kept around until the last object inside the
pool is freed. So if you talloc_free() the pool, it might happen that the
memory is freed later. So don't hang anything off a talloc pool that should
live long.
Volker
(This used to be commit 60ef9a84f0bd18d48e453c08aa420d17275e0881)
|
|
Jeremy.
(This used to be commit 0844dbf597191b3e4d35a696695b229e986daec4)
|
|
(This used to be commit 2585c6feb22b4409a635017875a2e93fe7c436ba)
|
|
(This used to be commit 40c0919aaa9c1b14bbaebb95ecce53eb0380fdbb)
|
|
(This used to be commit 84b468b2f8f2dffda89593f816e8bc6a8b6d42ac)
|
|
destrutor
metze
(This used to be commit 305117fae0b4692b27b9cc7204fc59fb1312eabb)
|
|
metze
(This used to be commit 6780c234275b29192c49bf6d45204b0ac458faaf)
|
|
(This used to be commit b3e2d4908781781a487eaeb683d22eb967e5597d)
|
|
(This used to be commit 5870830b99a8d76bda1ff5af3fcf8dda9aba50ec)
|
|
(This used to be commit ebf1d523da45fe19757bca45262f7514702ee108)
|
|
build).
Make TORTURE-TALLOC and TORTURE-REPLACE builtin again rather than
separate binaries.
(This used to be commit 8913d60c72a67b041b08d569c9bd048953106c85)
|
|
a pty in the piped_child() code
Jelmer, if you want to fix this on platforms that support it, see the
forkpty() call, or see
http://junkcode.samba.org/ftp/unpacked/junkcode/rline/
(This used to be commit 35908a29922b93d133b19881dc8205a7116cae8e)
|
|
cost of talloc versus malloc. The size parameter in the test suite was
constantly increasing, leading to a worst case for malloc. It is far
more common to have talloc calls of 100 bytes or lower, so change the
benchmark to reflect this.
This makes talloc look much worse - on my laptop I now get:
talloc: 5615164 ops/sec
malloc: 14337130 ops/sec
I'm working on improving that.
(This used to be commit db273ef4dd6ab58da57bb4b59fb1fd5568585ed8)
|
|
Support listing known failures as a list of wildcards in the file
`KNOWN_FAILURES'.
(This used to be commit 23f66efd564d1ad549fc0cd60348f54808f5cafa)
|
|
'subunit' protocol. This allows us to easily plug EJS scripts or binaries that
can't depend on -ltorture into smbtorture. The protocol is very simple:
- write "comments" to stderr
Example output on stdout:
test: foo
success: foo
test: bar
success: bar
test: blah
failure: blah [
dummy.c:30: Expression 1 != 2 failed!
]
test: blie
skip: blie [
Iconv support not built in
]
I've already converted the talloc testsuite.
(This used to be commit e1742c14a247fabba969f8698108e73997d3f420)
|
|
output in the testsuite rather than just True or False for a
set of tests.
The aim is to use this for:
* known failure lists (run all tests and detect tests that
started working or started failing). This
would allow us to get rid of the RPC-SAMBA3-* tests
* nicer torture output
* simplification of the testsuite system
* compatibility with other unit testing systems
* easier usage of smbtorture (being able to run one test
and automatically set up the environment for that)
This is still a work-in-progress; expect more updates over the next couple of
days.
(This used to be commit 0eb6097305776325c75081356309115f445a7218)
|
|
(This used to be commit e620f44643caf93a8bcb203a966c986c14a8dc0e)
|
|
- talloc_free(talloc_autofree_context()); should not result
in a SIGABORT on exit
- add a test for this, but this test can also pass in the standalone build
and samba3, as samba4 uses talloc_autofree_context()
metze
(This used to be commit 2be48c1b033dceb9517826054b8ea97df2c94472)
|
|
exposed.
Unfortunately this generates a large number of type punning
warnings. We'll have to find some magic to hide those.
(This used to be commit 254cbf09dee5a1e20c47e47a298f1a8d172b41b9)
|
|
meant for moving pointers between structures. The difference is that
talloc_move() will zero the source pointer, thus ensuring you don't
reference the pointer in the old context.
talloc_move() is appropriate in some, but not all cases where we use
talloc_steal() now. The interface came out of a discussion with
Jeremy.
(This used to be commit 200756017e1867faa207703eddc00a75ae4527df)
|
|
(This used to be commit 6f5e7df6f2cf67731e596b1d1d6fafbb76123e89)
|
|
isolation of our portability environment from the main code, and also
simplifies the includes system (no separate #ifdef _SAMBA_BUILD for
tdb. ldb etc now)
(This used to be commit 77d1a468e06290aba789e2f3affc769fc5159a21)
|
|
a local scope
metze
(This used to be commit b787259365eb3dbbc5e8a82a95f0beeea0015682)
|
|
metze
(This used to be commit c60deff667941e462fd9c8a894a723c792fe465e)
|
|
(This used to be commit cd495d89314a653b5976b1690e075fd7bac2f59b)
|
|
in smbtorture, and in the LOCAL-TALLOC we should reset the null tracking
also make bin/smbtorture //url/foo LOCAL-TALLOC LOCAL-TALLOC possible
metze
(This used to be commit d1dd3df5e4fd21f5cbd00e472438fe3eadb266e5)
|
|
metze
(This used to be commit ff8d044c2e14e81b4bb32eaacc56875e9602ce4d)
|
|
metze
(This used to be commit 972a84f220f0dabc4e1cc3ffd40a4bf4dedc74d9)
|
|
see the manpage what they do:-)
metze
(This used to be commit bfca83c91e47e9017474809cd7bc8b2e6e20416a)
|
|
metze
(This used to be commit bb79542edbb290c7dbea7c921b0e911dd1b3366b)
|
|
metze
(This used to be commit 669d1e5f923a5414b8ad2537da1723d50a240387)
|
|
top->level1->level2->level3
level3 has a deny destructor
talloc_free(level1)
result: top->level3
metze
(This used to be commit 3be930b81d2caf5e13105efa02280c4fc45181cb)
|
|
the children
this fixes an endless loop bug!
- reenable the test for this
should I merge this to samba3?
metze
(This used to be commit 0559222b62930765519aaab5d33609ece29014d6)
|
|
trying to find the bug on HPUX
metze
(This used to be commit 3db6bd87158cd615a3e35009598863758099595b)
|
|
metze
(This used to be commit 972634b2021e60b27d68b0fd6d49ef95398d92e2)
|
|
we need null tracking, so enable it explicit before running any tests
metze
(This used to be commit f3cd971ab70c3edee4da87b8ca38ec215c8bff49)
|
|
type safe. This only works on recent gcc versions. With other
compilers it reverts to a non-typesafe cast
The patch also ensures that talloc_free() does not change error on
systems where free() can change errno
(This used to be commit babbff5f777642f559747f6d0697bc7c3a5e798d)
|
|
have a structure that references one of its parents, and a parent of
that parent is freed, then the whole structure should be freed, not
just the reference.
this was found by the change notify code, as a side effect of fixing
the memory leak yesterday
(This used to be commit 70531dcaeeb9314d410baa0d285df6a265311541)
|
|
(This used to be commit 3c7a5ce29108dd82210dc3e1f00414f545949e1d)
|
|
(This used to be commit ed90975bf50644f00da681eb7cc41123abc60f81)
|
|
memory loop with talloc_unlink(), so now we detect it and handle it
(This used to be commit 563058e78b8c74e821fabf6a43fa861c1ad09944)
|
|
- samba malloc wrapper avoidance not needed now we don't use includes.h
- make testsuite work when BOOL, True, False already defined
(This used to be commit c8a274c8735957a8a8dd21421abd65a8a1af20f7)
|
|
(This used to be commit 3541ebe31bef8ccae7a8a1ea4f451ddfbd24460a)
|
|
(This used to be commit c2ce09d38003fd43212de9cd08e4a781cc2aff88)
|
|
compile on
trunk, 3_0 and 4_0.
Volker
(This used to be commit 777c489cad610fef140ec80d5644111b04a314c1)
|
|
metze
(This used to be commit d8aeb69ea85cc0df89e213482c446eb8e793bc86)
|
|
the type names that talloc already keeps around for pointers, and
allows the user to type check void* private pointers. It can also be
used to implement polymorphism in C, as I'm sure someone would have
pointed out to me sooner or later :-)
(This used to be commit c283e1a3efac3a92e29a35856e20eb61ef4c221e)
|
|
- expanded the talloc_realloc() test a little (I was concerned about a
possible bug, which turned out to be an illusion)
- don't enable gcov by default in Makefile.talloc
(This used to be commit 4ec47cc1083c4cdb780e548177631c5914bf677a)
|
|
it doesn't
use TALLOC_DEPRECATED
(This used to be commit 2fe0e2528f14627832942f6404a4b1be4b556c97)
|
|
(This used to be commit 1177200dd9392c088f5b009f55390ad31c367e5f)
|