Comments (4)
@Pansysk75 Yep, that's caused by the direct execution patch. cancelable_action should call get_outer_id
instead (here:
from hpx.
@Pansysk75 Yep, that's caused by the direct execution patch. cancelable_action should call
get_outer_id
instead (here:). Excellent catch!
I just realized that we don't have that - what an oversight! It should be added here:
and here:hpx/libs/core/threading/src/thread.cpp
Lines 386 to 389 in bc993dd
The new code should be:
thread::id get_outer_id() noexcept
{
return thread::id(threads::get_outer_self_id());
}
from hpx.
That should work, but as a user I would really wonder what "outer" refers to and why I should use that (if I didn't know the implementation details).
I was thinking of perhaps modifying the yield operation so that the state before and after the yield would be the same, if that is at all possible. That should make 'hpx::this_thread::get_id()' return some constant id (the one of the thread being "directly executed" i suppose)
Is there a good reason why a different id should be reported right after suspension? Is it a bug or is it something that we expect?
from hpx.
Alternatively we could make the current implementation of get_id
call the get_outer_self_id
instead. Not sure what this would break, though...
from hpx.
Related Issues (20)
- HPX 1.9.0 does not compile with GCC on Windows HOT 26
- Implement set_thread_name on POSIX systems
- Add optional reading of json files for command line options HOT 1
- The "attach-debugger" option is broken on the current master branch. HOT 1
- Build issue with HPX_WITH_NETWORKING=OFF
- Problems using the hpx.stacks:use_guard_pages parameter HOT 2
- Zero-copy receive optimization disabled the invocation of direct actions HOT 3
- Compilers do not match (Fedora 38) HOT 5
- First example not working HOT 2
- Update config for coroutines on ARM HOT 3
- HPX does not uses distributed localities on Fugaku HOT 7
- Build breaks on FreeBSD HOT 1
- Fix 32bit Windows build
- Log hpx threads on forced shutdown HOT 2
- 6 tests fail, 4 tests time out HOT 1
- Segmentation fault after adding a padding in one_size_heap_list HOT 1
- Initialization hangs when only setting --hpx:cores
- Failed Linking CXX executable due to undefined references HOT 4
- Single page documentation is broken HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from hpx.