File tree Expand file tree Collapse file tree 1 file changed +17
-3
lines changed Expand file tree Collapse file tree 1 file changed +17
-3
lines changed Original file line number Diff line number Diff line change @@ -811,6 +811,16 @@ void pmix_tool_connected_fn(opal_list_t *info,
811811
812812}
813813
814+ static void lgcbfn (int sd , short args , void * cbdata )
815+ {
816+ orte_pmix_server_op_caddy_t * cd = (orte_pmix_server_op_caddy_t * )cbdata ;
817+
818+ if (NULL != cd -> cbfunc ) {
819+ cd -> cbfunc (cd -> status , cd -> cbdata );
820+ }
821+ OBJ_RELEASE (cd );
822+ }
823+
814824void pmix_server_log_fn (opal_process_name_t * requestor ,
815825 opal_list_t * info ,
816826 opal_list_t * directives ,
@@ -856,9 +866,13 @@ void pmix_server_log_fn(opal_process_name_t *requestor,
856866 }
857867 }
858868
859- if (NULL != cbfunc ) {
860- cbfunc (OPAL_SUCCESS , cbdata );
861- }
869+ /* we cannot directly execute the callback here
870+ * as it would threadlock - so shift to somewhere
871+ * safe */
872+ rc = ORTE_SUCCESS ; // unused - silence compiler warning
873+ ORTE_PMIX_THREADSHIFT (requestor , NULL , rc ,
874+ NULL , NULL , lgcbfn ,
875+ cbfunc , cbdata );
862876}
863877
864878int pmix_server_job_ctrl_fn (const opal_process_name_t * requestor ,
You can’t perform that action at this time.
0 commit comments