Ignore:
Timestamp:
04/21/15 15:19:47 (9 years ago)
Author:
Maciej Komosinski
Message:

THREAD_LOCAL uses ThreadLocal_ prefix for variables. The static object inside the single-threaded implementation is no longer associated with a class.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • cpp/frams/util/extvalue.cpp

    r348 r371  
    124124}
    125125
    126 THREAD_LOCAL_DEF(ExtObject::Serialization, ExtObject::serialization);
     126THREAD_LOCAL_DEF(ExtObject::Serialization, ExtObject_serialization);
    127127
    128128void ExtObject::Serialization::begin()
     
    185185SString ExtObject::serialize_inner() const
    186186{
    187         int ref = tlsGetRef(serialization).add(*this);
     187        int ref = tlsGetRef(ExtObject_serialization).add(*this);
    188188        if (ref >= 0)
    189189                return SString::sprintf("^%d", ref);
     
    216216        }
    217217
    218         tlsGetRef(serialization).remove(*this);//undo nonserializable reference
     218        tlsGetRef(ExtObject_serialization).remove(*this);//undo nonserializable reference
    219219        SString ret = interfaceName();
    220220        ret += SString::sprintf("<%p>", object ? object : paraminterface);
     
    224224SString ExtObject::serialize() const
    225225{
    226         tlsGetRef(serialization).begin();
     226        tlsGetRef(ExtObject_serialization).begin();
    227227        SString ret = serialize_inner();
    228         tlsGetRef(serialization).end();
     228        tlsGetRef(ExtObject_serialization).end();
    229229        return ret;
    230230}
     
    998998                VectorObject *vec = new VectorObject;
    999999                ExtObject o(&VectorObject::par, vec);
    1000                 tlsGetRef(ExtObject::serialization).add(o);
     1000                tlsGetRef(ExtObject_serialization).add(o);
    10011001                const char* p = in + 1;
    10021002                ExtValue tmp;
     
    10291029                DictionaryObject *dic = new DictionaryObject;
    10301030                ExtObject o(&DictionaryObject::par, dic);
    1031                 tlsGetRef(ExtObject::serialization).add(o);
     1031                tlsGetRef(ExtObject_serialization).add(o);
    10321032                const char* p = in + 1;
    10331033                ExtValue args[2]/*={value,key}*/, dummy_ret;
     
    10801080                if (ret && (ref.getType() == TInt))
    10811081                {
    1082                         const ExtObject* o = tlsGetRef(ExtObject::serialization).get(ref.getInt());
     1082                        const ExtObject* o = tlsGetRef(ExtObject_serialization).get(ref.getInt());
    10831083                        if (o)
    10841084                        {
     
    11051105                                {
    11061106                                        cls->call(m, &tmp, this);
    1107                                         tlsGetRef(ExtObject::serialization).replace(tmp.getObject(), getObject());
     1107                                        tlsGetRef(ExtObject_serialization).replace(tmp.getObject(), getObject());
    11081108                                        return ret;
    11091109                                }
     
    11161116                                {
    11171117                                        cls->call(m, &tmp, this);
    1118                                         tlsGetRef(ExtObject::serialization).replace(tmp.getObject(), getObject());
     1118                                        tlsGetRef(ExtObject_serialization).replace(tmp.getObject(), getObject());
    11191119                                        return ret;
    11201120                                }
     
    11261126                                {
    11271127                                        cls->call(m, &tmp, this);
    1128                                         tlsGetRef(ExtObject::serialization).replace(tmp.getObject(), getObject());
     1128                                        tlsGetRef(ExtObject_serialization).replace(tmp.getObject(), getObject());
    11291129                                        return ret;
    11301130                                }
    11311131                        }
    1132                         tlsGetRef(ExtObject::serialization).remove(tmp.getObject());
     1132                        tlsGetRef(ExtObject_serialization).remove(tmp.getObject());
    11331133                        setEmpty();
    11341134                }
     
    11441144const char* ExtValue::deserialize(const char* in)
    11451145{
    1146         tlsGetRef(ExtObject::serialization).begin();
     1146        tlsGetRef(ExtObject_serialization).begin();
    11471147        const char* ret = deserialize_inner(in);
    1148         tlsGetRef(ExtObject::serialization).end();
     1148        tlsGetRef(ExtObject_serialization).end();
    11491149        return ret;
    11501150}
Note: See TracChangeset for help on using the changeset viewer.