mirror of
https://github.com/samba-team/samba.git
synced 2025-01-11 05:18:09 +03:00
963ccff806
The decorator order matters in the following: """ @runonce @conf function() """ First, the @conf decorator binds the function to the configuration context and then returns the same function. The @runonce decorator then takes the output function and replaces it by another that performs caching. This new function remains in the current script and is never bound to the configuration context, so caching never occurs. The declaration would have been correct if written like this: """ @conf @runonce function() """ Yet the decorator @run_once does not keep the function name (__name__), so the annotation with @conf would fail. The straightforward approach is to remove all the incorrect @runonce occurrences. Besides that, the function Utils.run_once is already present in the Waf library, and is sufficient for the current needs of the Samba code (it caches only the first argument). Therefore samba_utils.runonce can be safely replaced by Utils.run_once, which is also present in Waf 1.8. Note: at runtime, only SETUP_BUILD_GROUPS seems to actually use caching. Signed-off-by: Thomas Nagy <tnagy@waf.io> Reviewed-by: Uri Simchoni uri@samba.org Reviewed-by: Andrew Bartlett <abartlet@samba.org> |
||
---|---|---|
.. | ||
addns | ||
afs | ||
async_req | ||
compression | ||
crypto | ||
dbwrap | ||
krb5_wrap | ||
ldb | ||
ldb-samba | ||
nss_wrapper | ||
param | ||
replace | ||
resolv_wrapper | ||
smbconf | ||
socket | ||
socket_wrapper | ||
talloc | ||
tdb | ||
tdb_wrap | ||
tdr | ||
tevent | ||
texpect | ||
torture | ||
tsocket | ||
uid_wrapper | ||
util | ||
README | ||
wscript_build |
compression - Various compression algorithms (MSZIP, lzxpress) dnspython - Python module for working with DNS. nss_wrapper - Wrapper for the user and group NSS API allowing the use of other data sources. popt - Command-line option parsing library replace - Provides replacements for standard (POSIX, C99) functions not provided by the host platform. socket_wrapper - Wrapper library allowing TCP/IP traffic to be redirected over Unix domain sockets. subunit - Utilities and bindings for working with the Subunit test result reporting protocol. talloc - Hierarchical pool based memory allocator tdb - Simple but fast key/value database library, supporting multiple writers torture - Simple unit testing helper library