Page MenuHomeFreeBSD

tdestroy: don't visit one-child node twice
ClosedPublic

Authored by dougm on Wed, Jan 14, 6:06 AM.
Tags
None
Referenced Files
Unknown Object (File)
Fri, Feb 6, 4:39 PM
Unknown Object (File)
Thu, Jan 29, 8:35 PM
Unknown Object (File)
Thu, Jan 29, 2:41 AM
Unknown Object (File)
Wed, Jan 28, 3:25 PM
Unknown Object (File)
Tue, Jan 27, 8:33 PM
Unknown Object (File)
Mon, Jan 26, 1:09 PM
Unknown Object (File)
Mon, Jan 19, 10:07 PM
Unknown Object (File)
Sun, Jan 18, 10:11 AM
Subscribers

Details

Summary

Change tdestroy() to immediately free a node with no right child as soon as it is encountered. Currently, such nodes are visited twice before deletion.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

dougm requested review of this revision.Wed, Jan 14, 6:06 AM
dougm created this revision.

Remove a redundant NULL check.

Did you tested this with lib/libc/tests/stdlib/tsearch_test.c?
If it works, I am fine with it.

$ kyua test -k /usr/tests/Kyuafile lib/libc/stdlib/tsearch_test
lib/libc/stdlib/tsearch_test:tdestroy_test -> passed [0.001s]
lib/libc/stdlib/tsearch_test:tsearch_test -> passed [0.030s]

This revision is now accepted and ready to land.Thu, Jan 15, 4:22 AM
This revision was automatically updated to reflect the committed changes.