void_pfn_smxprocess_t cleanup_func,
void* data)
{
- xbt_ex_t e;
- static int thread_amount=0;
- smx_ctx_java_t context = xbt_new0(s_smx_ctx_java_t, 1);
- thread_amount++;
+ static int thread_amount=0;
+ smx_ctx_java_t context = xbt_new0(s_smx_ctx_java_t, 1);
+ thread_amount++;
/* If the user provided a function for the process then use it
otherwise is the context for maestro */
if (code) {
TRY {
context->thread = xbt_os_thread_create(NULL,smx_ctx_java_thread_run,context,NULL);
- } CATCH(e) {
- RETHROWF("Failed to create context #%d. You may want to switch to Java coroutines to increase your limits (error: %s)."
- "See the Install section of simgrid-java documentation (in doc/install.html) for more on coroutines.",
- thread_amount);
}
- }
- else {
+ CATCH_ANONYMOUS {
+ RETHROWF("Failed to create context #%d. You may want to switch to Java coroutines to increase your limits (error: %s)."
+ "See the Install section of simgrid-java documentation (in doc/install.html) for more on coroutines.",
+ thread_amount);
+ }
+ } else {
context->thread = NULL;
xbt_os_thread_set_extra_data(context);
}