Changes between Version 27 and Version 28 of DjangoSpecifications/Core/Threading


Ignore:
Timestamp:
Apr 16, 2008, 8:04:22 AM (17 years ago)
Author:
mrts
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • DjangoSpecifications/Core/Threading

    v27 v28  
    7878
    7979||'''Module'''||'''Globals'''||'''Incomplete init'''||'''Inefficiencies'''||
    80 ||settings and global_settings||?||not reviewed||||
    81 ||utils/_decimal.py||lots, including code||not reviewed||||
     80||settings and global_settings||?||MODULE LEVEL INIT, not reviewed||||
     81||utils/_decimal.py||lots, including code||MODULE LEVEL INIT, not reviewed||||
    8282||django/contrib/sites/models.py||`SITE_CACHE`||OK||one db hit intended, more than one possible||
    8383||django/template/context.py||`_standard_context_processors`||OK||duplicated module loading with `__import__` possible||
    8484||`django/template/__init__.py`||`invalid_var_format_string, libraries, builtins`||OK||duplicated module loading with `__import__` possible||
    8585||django/template/loader.py||`template_source_loaders`||PROBLEM, see #6950, patch attached||duplicated module loading with `__import__` possible||
    86 ||django/template/loaders/app_directories.py||`app_template_dirs`||MODULE LEVEL INIT (probably OK)||||
    87 ||django/utils/translation/trans_real.py||`_accepted, _active, _default, _translations`||continue review here||foo||
    88 ||django/core/urlresolvers.py||`_callable_cache, _resolver_cache`||`memoize` decorator||||
    89 ||`django/core/serializers/__init__.py`||`_serializers`||||||
    90 ||django/db/models/fields/related.py||`pending_lookups`||||||
    91 ||django/db/transaction.py||`dirty, state`||||||
    92 ||django/dispatch/dispatcher.py||`connections, senders, sendersBack||||||
     86||django/template/loaders/app_directories.py||`app_template_dirs`||MODULE LEVEL INIT||||
     87||django/utils/translation/trans_real.py||`_accepted, _active, _default, _translations`||OK||explicit threading support, no inefficiencies||
     88||django/core/urlresolvers.py||`_callable_cache, _resolver_cache`||`memoize` decorator||duplicated module loading with `__import__` possible||
     89||`django/core/serializers/__init__.py`||`_serializers`||PROBLEM, incomplete init in `_load_serializers`||||
     90||django/db/models/fields/related.py||`pending_lookups`||OK?, needs further review||`append()` in `add_lazy_relation()` can add duplicated values, which may or may not confuse `pop()` in `do_pending_lookups()`||
     91||django/db/transaction.py||`dirty, state`||OK||explicit threading support, no inefficiencies||
     92||django/dispatch/dispatcher.py||`connections, senders, sendersBack||not reviewed||||
     93
     94=== Problems ===
     95
     96 1. django/template/loader.py: the "bad" algorithm above, patch attached to #6950
     97 1. django/core/serializers/__init__.py: `_load_serializers()` is unsafe, patch attached to #FIXME:
     98{{{
     991. thread 1: if not _serializers: true --> _load_serializers(), enter for loop
     1002. thread 1: register_serializer(x)
     1013. thread 2: if not _serializers: false --> use incomplete _serializers
     1023. thread 1: register_serializer(y)
     103}}}
     104 1. django/db/models/fields/related.py: `append()` in `add_lazy_relation()` can add duplicated values, which may or may not confuse `pop()` in `do_pending_lookups()`
    93105
    94106=== Raw `grep` results ===
Back to Top