Changeset 6b33e89 for libcfa/src/executor.cfa
- Timestamp:
- Apr 25, 2025, 7:39:09 AM (8 months ago)
- Branches:
- master
- Children:
- 65bd3c2
- Parents:
- b195498
- File:
-
- 1 edited
-
libcfa/src/executor.cfa (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
libcfa/src/executor.cfa
rb195498 r6b33e89 21 21 T * remove( Buffer(T, TLink) & mutex buf ) with(buf) { 22 22 dlist( T, TLink ) * qptr = &queue; // workaround https://cforall.uwaterloo.ca/trac/ticket/166 23 // if ( (*qptr)`isEmpty) wait( delay ); // no request to process ? => wait24 if ( (*qptr)`isEmpty ) return 0p;// no request to process ? => wait23 // if ( isEmpty( *qptr ) ) wait( delay ); // no request to process ? => wait 24 if ( isEmpty( *qptr ) ) return 0p; // no request to process ? => wait 25 25 return &try_pop_front( *qptr ); 26 26 } // remove … … 93 93 unsigned int reqPerWorker = nrqueues / nworkers, extras = nrqueues % nworkers; 94 94 // for ( unsigned int i = 0, start = 0, range; i < nworkers; i += 1, start += range ) { 95 for ( i; nworkers : start; 0u ~ @ ~ range : range; ) {96 range = reqPerWorker + ( i < extras ? 1 : 0 );95 for ( i; nworkers : start; 0u ~ @ ~ range : range; ) { 96 range = reqPerWorker + ( i < extras ? 1 : 0 ); 97 97 workers[i] = new( cluster, requests, start, range ); 98 98 } // for
Note:
See TracChangeset
for help on using the changeset viewer.