1
1

* Move the parallel job handle type into lam/types.h and use in both the

pcm and oob module type

This commit was SVN r221.
Этот коммит содержится в:
Brian Barrett 2004-01-10 18:34:07 +00:00
родитель 92310bd68d
Коммит 0cc9045e79
6 изменённых файлов: 37 добавлений и 30 удалений

Просмотреть файл

@ -29,5 +29,11 @@ typedef struct lam_fd_set_t lam_fd_set_t;
#define LAM_FD_CLR(fd,fds) FD_CLR((fd),(fd_set*)(fds))
#define LAM_FD_ISSET(fd,fds) FD_ISSET((fd),(fd_set*)(fds))
/*
* handle to describe a parallel job
*/
typedef char* lam_job_handle_t;
#endif

Просмотреть файл

@ -10,7 +10,7 @@
#include "mca/lam/oob/cofs/src/oob_cofs.h"
int
mca_oob_cofs_send(char* parallel_job_id, int vpid, int tag,
mca_oob_cofs_send(lam_job_handle_t job_handle, int vpid, int tag,
void* data, size_t data_len)
{
return 0;
@ -18,7 +18,7 @@ mca_oob_cofs_send(char* parallel_job_id, int vpid, int tag,
int
mca_oob_cofs_recv(char* parallel_job_id, int* tag, int* vpid,
mca_oob_cofs_recv(lam_job_handle_t job_handle, int* tag, int* vpid,
void** data, size_t* data_len)
{
return 0;
@ -26,7 +26,7 @@ mca_oob_cofs_recv(char* parallel_job_id, int* tag, int* vpid,
int
mca_oob_cofs_recv_nb(char* parallel_job_id, int* tag, int* vpid,
mca_oob_cofs_recv_nb(lam_job_handle_t job_handle, int* tag, int* vpid,
void** data, size_t* data_len)
{
return 0;
@ -34,7 +34,7 @@ mca_oob_cofs_recv_nb(char* parallel_job_id, int* tag, int* vpid,
int
mca_oob_cofs_recv_cb(char* parallel_job_id, int tag,
mca_oob_cofs_recv_cb(lam_job_handle_t job_handle, int tag,
mca_oob_recv_cb_t callback)
{
return 0;

Просмотреть файл

@ -5,6 +5,7 @@
*/
#include "mca/lam/oob/oob.h"
#include "lam/types.h"
/*
* Module open / close
@ -24,11 +25,11 @@ int mca_oob_cofs_finalize(void);
/*
* "Action" functions
*/
int mca_oob_cofs_send(char* parallel_job_id, int vpid, int tag,
int mca_oob_cofs_send(lam_job_handle_t job_handle, int vpid, int tag,
void* data, size_t data_len);
int mca_oob_cofs_recv(char* parallel_job_id, int* tag, int* vpid,
int mca_oob_cofs_recv(lam_job_handle_t job_handle, int* tag, int* vpid,
void** data, size_t* data_len);
int mca_oob_cofs_recv_nb(char* parallel_job_id, int* tag, int* vpid,
int mca_oob_cofs_recv_nb(lam_job_handle_t job_handle, int* tag, int* vpid,
void** data, size_t* data_len);
int mca_oob_cofs_recv_cb(char* parallel_job_id, int tag,
int mca_oob_cofs_recv_cb(lam_job_handle_t job_handle, int tag,
mca_oob_recv_cb_t callback);

Просмотреть файл

@ -63,6 +63,10 @@ mca_oob_cofs_query(int *priority)
struct mca_oob_1_0_0*
mca_oob_cofs_init(void)
{
/*
* BWB - fix me, make register the "right" way...
*/
return NULL;
}

Просмотреть файл

@ -35,8 +35,7 @@
#include "lam_config.h"
#include "mca/mca.h"
#include <sys/types.h>
#include "lam/types.h"
/*
* Global constants / types
@ -49,7 +48,7 @@
/* "Special" vpids */
#define MCA_OOB_MPIRUN -1
typedef void (*mca_oob_recv_cb_t)(char* parallel_job_id, int tag,
typedef void (*mca_oob_recv_cb_t)(lam_job_handle_t job_handle, int tag,
int vpid, void* data, size_t data_len, int status);
@ -58,13 +57,13 @@ typedef void (*mca_oob_recv_cb_t)(char* parallel_job_id, int tag,
*/
typedef int (*mca_oob_query_fn_t)(int *priority);
typedef struct mca_oob_1_0_0* (*mca_oob_init_fn_t)(void);
typedef int (*mca_oob_send_fn_t)(char* parallel_job_id, int vpid, int tag,
typedef int (*mca_oob_send_fn_t)(lam_job_handle_t job_handle, int vpid, int tag,
void* data, size_t data_len);
typedef int (*mca_oob_recv_fn_t)(char* parallel_job_id, int* tag, int* vpid,
typedef int (*mca_oob_recv_fn_t)(lam_job_handle_t job_handle, int* tag, int* vpid,
void** data, size_t* data_len);
typedef int (*mca_oob_recv_nb_fn_t)(char* parallel_job_id, int* tag, int* vpid,
typedef int (*mca_oob_recv_nb_fn_t)(lam_job_handle_t job_handle, int* tag, int* vpid,
void** data, size_t* data_len);
typedef int (*mca_oob_recv_cb_fn_t)(char* parallel_job_id, int tag,
typedef int (*mca_oob_recv_cb_fn_t)(lam_job_handle_t job_handle, int tag,
mca_oob_recv_cb_t callback);
typedef int (*mca_oob_finalize_fn_t)(void);
@ -114,8 +113,6 @@ extern "C" {
/*
* Global struct holding the selected module's function pointers
*/
#if 0
extern mca_oob_t mca_oob;
#endif /* #if 0 */
#endif

Просмотреть файл

@ -56,6 +56,7 @@
#include "lam_config.h"
#include "mca/mca.h"
#include "lam/types.h"
/*
* "PCM" global types
@ -74,8 +75,6 @@ typedef struct lam_pcm_control_args {
char* value;
} lam_pcm_control_args_t;
typedef char* lam_pcm_job_handle_t;
/*
* functions every module must provide
*/
@ -128,7 +127,7 @@ typedef int (*mca_pcm_query_get_nodes)(lam_pcm_node_t **nodes, size_t *nodes_len
*
* \warning The handle must be released using lam_pcm_handle_free
*/
typedef lam_pcm_job_handle_t (*mca_pcm_handle_new_fn_t)(lam_pcm_job_handle_t parent);
typedef lam_job_handle_t (*mca_pcm_handle_new_fn_t)(lam_job_handle_t parent);
/**
@ -141,18 +140,18 @@ typedef lam_pcm_job_handle_t (*mca_pcm_handle_new_fn_t)(lam_pcm_job_handle_t par
*
* \warning The handle must be released using lam_pcm_handle_free
*/
typedef lam_pcm_job_handle_t (*mca_pcm_handle_get_fn_t)(void);
typedef lam_job_handle_t (*mca_pcm_handle_get_fn_t)(void);
/**
* Free a job handle
*
* @param job_handle Poiner to a lam_pcm_job_handle_t
* @param job_handle Poiner to a lam_job_handle_t
*
* Free a job handle returned by lam_pcm_handle_new or
* lam_pcm_handle_get.
*/
typedef void (*mca_pcm_handle_free_fn_t)(lam_pcm_job_handle_t *job_handle);
typedef void (*mca_pcm_handle_free_fn_t)(lam_job_handle_t *job_handle);
/**
@ -168,7 +167,7 @@ typedef void (*mca_pcm_handle_free_fn_t)(lam_pcm_job_handle_t *job_handle);
* always return LAM_SUCCESS (yes) if called from mpirun. Useful
* for asking if MPI_SPAWN and friends can run.
*/
typedef int (*mca_pcm_job_can_sapwn_fn_t)(lam_pcm_job_handle_t job_handle);
typedef int (*mca_pcm_job_can_sapwn_fn_t)(lam_job_handle_t job_handle);
/**
@ -191,7 +190,7 @@ typedef int (*mca_pcm_job_can_sapwn_fn_t)(lam_pcm_job_handle_t job_handle);
* \Warning It is an error to call this function more than once on a single
* job handle.
*/
typedef int (*mca_pcm_job_set_arguments_fn_t)(lam_pcm_job_handle_t job_handle,
typedef int (*mca_pcm_job_set_arguments_fn_t)(lam_job_handle_t job_handle,
lam_pcm_control_args_t* opts,
size_t opts_len);
@ -221,7 +220,7 @@ typedef int (*mca_pcm_job_set_arguments_fn_t)(lam_pcm_job_handle_t job_handle,
* LAM_ERR_NOT_SUPPORTED will be returned if the mca module does not
* support spawning of new applications from
*/
typedef int (*mca_pcm_job_launch_procs_fn_t)(lam_pcm_job_handle_t job_handle,
typedef int (*mca_pcm_job_launch_procs_fn_t)(lam_job_handle_t job_handle,
lam_pcm_node_t *nodes,
size_t nodes_len, const char* file,
int argc, const char* argv[],
@ -244,7 +243,7 @@ typedef int (*mca_pcm_job_launch_procs_fn_t)(lam_pcm_job_handle_t job_handle,
* returns, it is safe to assume that all rendezvous is complete
* (ie, you can exit and not mess anything up
*/
typedef int (*mca_pcm_job_rendezvous_fn_t)(lam_pcm_job_handle_t job_handle);
typedef int (*mca_pcm_job_rendezvous_fn_t)(lam_job_handle_t job_handle);
/**
@ -259,7 +258,7 @@ typedef int (*mca_pcm_job_rendezvous_fn_t)(lam_pcm_job_handle_t job_handle);
* on a job at termination, as job results will be expunged over
* time as resource limits dictate.
*/
typedef int (*mca_pcm_job_wait_fn_t)(lam_pcm_job_handle_t job_handle);
typedef int (*mca_pcm_job_wait_fn_t)(lam_job_handle_t job_handle);
/**
@ -274,7 +273,7 @@ typedef int (*mca_pcm_job_wait_fn_t)(lam_pcm_job_handle_t job_handle);
* Ask if job is running. If job has recently finished, this does
* not imply wait the pcm interface will call wait for you.
*/
typedef int (*mca_pcm_job_running_fn_t)(lam_pcm_job_handle_t job_handle,
typedef int (*mca_pcm_job_running_fn_t)(lam_job_handle_t job_handle,
int* running);
@ -292,7 +291,7 @@ typedef int (*mca_pcm_job_running_fn_t)(lam_pcm_job_handle_t job_handle,
*
* \warning This function is not yet implemented.
*/
typedef int (*mca_pcm_job_list_running_fn_t)(lam_pcm_job_handle_t **handles,
typedef int (*mca_pcm_job_list_running_fn_t)(lam_job_handle_t **handles,
size_t handles_len);