Changeset e50d9cb8 for libcfa/src/concurrency/invoke.h
- Timestamp:
- Nov 1, 2022, 10:06:40 PM (18 months ago)
- Branches:
- ADT, ast-experimental, master
- Children:
- 7cf8006
- Parents:
- 0bdfcc3 (diff), 03c56f6 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
libcfa/src/concurrency/invoke.h
r0bdfcc3 re50d9cb8 195 195 struct __monitor_group_t monitors; 196 196 197 // used to put threads on dlist data structure 197 // intrusive link fields, used for locks, monitors and any user defined data structure 198 // default link fields for dlist 198 199 __cfa_dlink1(thread$) user_link; 199 200 200 struct { 201 struct thread$ * next; 202 struct thread$ * prev; 203 } node; 201 // secondary intrusive link fields, used for global cluster list 202 // default link fields for dlist 203 __cfa_dlink2(thread$, cltr_link); 204 204 205 205 // used to store state between clh lock/unlock … … 230 230 #ifdef __cforall 231 231 extern "Cforall" { 232 static inline thread$ * volatile & ?`next ( thread$ * this ) { 233 return this->user_link.next; 234 } 232 235 233 236 static inline thread$ *& get_next( thread$ & this ) __attribute__((const)) { 234 237 return this.user_link.next; 235 }236 237 static inline [thread$ *&, thread$ *& ] __get( thread$ & this ) __attribute__((const)) {238 return this.node.[next, prev];239 238 } 240 239 … … 244 243 return result; 245 244 } 245 246 P9_EMBEDDED(thread$, thread$.cltr_link) 247 P9_EMBEDDED(thread$.cltr_link, dlink(thread$)) 246 248 247 249 static inline void ?{}(__monitor_group_t & this) {
Note: See TracChangeset
for help on using the changeset viewer.