Changeset a9ce782 for libcfa/src/concurrency/thread.cfa
- Timestamp:
- Feb 7, 2026, 1:40:26 PM (25 hours ago)
- Branches:
- stuck-waitfor-destruct
- Parents:
- c7d106a
- git-author:
- Matthew Au-Yeung <mw2auyeu@…> (02/07/26 13:40:05)
- git-committer:
- Matthew Au-Yeung <mw2auyeu@…> (02/07/26 13:40:26)
- File:
-
- 1 edited
-
libcfa/src/concurrency/thread.cfa (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
libcfa/src/concurrency/thread.cfa
rc7d106a ra9ce782 61 61 62 62 doregister(curr_cluster, this); 63 monitors{ &self_mon_p, 1, (fptr_t)0 };63 monitors{ &self_mon_p, 1, (fptr_t)0, (func_id_t)0 }; 64 64 } 65 65 … … 93 93 | { EHM_DEFAULT_VTABLE(ThreadCancelled(T)); }) 94 94 void ?{}( thread_dtor_guard_t & this, 95 T & thrd, void(*cancelHandler)(ThreadCancelled(T) &)) {95 T & thrd, func_id_t func_id, void(*cancelHandler)(ThreadCancelled(T) &)) { 96 96 monitor$ * m = get_monitor(thrd); 97 97 thread$ * desc = get_thread(thrd); … … 100 100 void (*dtor)(T& mutex this) = ^?{}; 101 101 bool join = cancelHandler != (void(*)(ThreadCancelled(T)&))0; 102 (this.mg){&m, (void(*)())dtor, join}; 102 this.func_id = func_id; 103 (this.mg){&m, (void(*)())dtor, func_id, join}; 103 104 104 105 … … 172 173 | { EHM_DEFAULT_VTABLE(ThreadCancelled(T)); }) 173 174 T & join( T & this ) { 174 thread_dtor_guard_t guard = { this, defaultResumptionHandler };175 thread_dtor_guard_t guard = { this, (func_id_t)0, defaultResumptionHandler }; 175 176 return this; 176 177 }
Note:
See TracChangeset
for help on using the changeset viewer.