File indexing completed on 2025-02-23 10:12:57
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018 #ifndef PRTE_MCA_STATE_BASE_H
0019 #define PRTE_MCA_STATE_BASE_H
0020
0021
0022
0023
0024 #include "prte_config.h"
0025 #include "constants.h"
0026
0027 #include "src/class/pmix_list.h"
0028 #include "src/util/pmix_printf.h"
0029
0030 #include "src/mca/mca.h"
0031 #include "src/mca/rmaps/rmaps_types.h"
0032 #include "src/mca/state/state.h"
0033
0034 BEGIN_C_DECLS
0035
0036
0037
0038
0039 typedef struct {
0040 int parent_fd;
0041 bool ready_msg;
0042 bool run_fdcheck;
0043 bool recoverable;
0044 int max_restarts;
0045 bool continuous;
0046 bool error_non_zero_exit;
0047 bool show_launch_progress;
0048 bool notifyerrors;
0049 bool autorestart;
0050 } prte_state_base_t;
0051 PRTE_EXPORT extern prte_state_base_t prte_state_base;
0052
0053
0054 PRTE_EXPORT int prte_state_base_select(void);
0055
0056
0057 PRTE_EXPORT void prte_state_base_print_job_state_machine(void);
0058
0059 PRTE_EXPORT void prte_state_base_print_proc_state_machine(void);
0060
0061 PRTE_EXPORT int prte_state_base_set_default_rto(prte_job_t *jdata,
0062 prte_rmaps_options_t *options);
0063
0064 PRTE_EXPORT int prte_state_base_set_runtime_options(prte_job_t *jdata, char *spec);
0065
0066
0067
0068
0069 PRTE_EXPORT void prte_state_base_activate_job_state(prte_job_t *jdata, prte_job_state_t state);
0070
0071 PRTE_EXPORT int prte_state_base_add_job_state(prte_job_state_t state, prte_state_cbfunc_t cbfunc);
0072
0073 PRTE_EXPORT int prte_state_base_set_job_state_callback(prte_job_state_t state,
0074 prte_state_cbfunc_t cbfunc);
0075
0076 PRTE_EXPORT int prte_state_base_remove_job_state(prte_job_state_t state);
0077
0078 PRTE_EXPORT void prte_util_print_job_state_machine(void);
0079
0080 PRTE_EXPORT void prte_state_base_activate_proc_state(pmix_proc_t *proc, prte_proc_state_t state);
0081
0082 PRTE_EXPORT int prte_state_base_add_proc_state(prte_proc_state_t state, prte_state_cbfunc_t cbfunc);
0083
0084 PRTE_EXPORT int prte_state_base_set_proc_state_callback(prte_proc_state_t state,
0085 prte_state_cbfunc_t cbfunc);
0086
0087 PRTE_EXPORT int prte_state_base_remove_proc_state(prte_proc_state_t state);
0088
0089 PRTE_EXPORT void prte_util_print_proc_state_machine(void);
0090
0091
0092 PRTE_EXPORT void prte_state_base_local_launch_complete(int fd, short argc, void *cbdata);
0093 PRTE_EXPORT void prte_state_base_cleanup_job(int fd, short argc, void *cbdata);
0094 PRTE_EXPORT void prte_state_base_report_progress(int fd, short argc, void *cbdata);
0095 PRTE_EXPORT void prte_state_base_track_procs(int fd, short argc, void *cbdata);
0096 PRTE_EXPORT void prte_state_base_check_all_complete(int fd, short args, void *cbdata);
0097 PRTE_EXPORT void prte_state_base_check_fds(prte_job_t *jdata);
0098 PRTE_EXPORT void prte_state_base_notify_data_server(pmix_proc_t *target);
0099
0100 END_C_DECLS
0101
0102 #endif