kcai1107 Posted March 14, 2022 Report Share Posted March 14, 2022 I am using SystemC 2.3.2. To run-time configuration needs, I have to create a dynamic thread process by sc_spawn (by default), and a wait() statement works normally as in a static SC_THREAD process. However, when adding a pair of sc_mutex lock() and unlock() calls for some synchronization work, I get such a run-time error: Error: (E519) wait() is only allowed in SC_THREADs and SC_CTHREADs: in SC_METHODs use next_trigger() instead Obviously, this error message is of a misleading because the dynamic process I create is undoubtedly a thread type process and wait() works well. I read some examples where sc_mutext can be used with SC_THREADs and this is the very reason I create a dynamic thread rather than a dynamic method. Can anybody in this community let me know if I do something wrong or the SystemC 2.3.2 still does not support sc_mutex implementation inside a spawned thread process? This issue already becomes a show-stopper in my work, so I do sincerely appreciate your prompt attention and help! KC Quote Link to comment Share on other sites More sharing options...
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.