Ignore:
Timestamp:
Nov 10, 2022, 12:14:23 PM (18 months ago)
Author:
Thierry Delisle <tdelisle@…>
Branches:
ADT, ast-experimental, master
Children:
a757ba1
Parents:
5ce0659
Message:

Changed cltr_link to use explicit field name to make gdb easier

File:
1 edited

Legend:

Unmodified
Added
Removed
  • libcfa/src/concurrency/invoke.h

    r5ce0659 r6a4ef0c  
    197197                // intrusive link fields, used for locks, monitors and any user defined data structure
    198198                // default link fields for dlist
    199                 __cfa_dlink1(thread$) user_link;
     199                __cfa_dlink(thread$) user_link;
    200200
    201201                // secondary intrusive link fields, used for global cluster list
    202202                // default link fields for dlist
    203                 __cfa_dlink2(thread$, cltr_link);
     203                __cfa_dlink(thread$) cltr_link;
    204204
    205205                // used to store state between clh lock/unlock
     
    244244                }
    245245
    246                 P9_EMBEDDED(thread$, thread$.cltr_link)
    247                 P9_EMBEDDED(thread$.cltr_link, dlink(thread$))
     246                static inline tytagref(typeof(((struct thread$ *)0p)->cltr_link), dlink(thread$)) ?`inner( struct thread$ & this ) {
     247                        typeof(this.cltr_link) & ib = this.cltr_link;
     248                        dlink(thread$) & b = ib`inner;
     249                        tytagref(typeof(this.cltr_link), dlink(thread$)) result = { b };
     250                        return result;
     251                }
     252
     253                P9_EMBEDDED(typeof(((struct thread$ *)0p)->cltr_link), dlink(thread$))
    248254
    249255                static inline void ?{}(__monitor_group_t & this) {
Note: See TracChangeset for help on using the changeset viewer.