NAME
drmaa_init, drmaa_exit - Start/finish Sun Grid Engine DRMAA
session
SYNOPSIS
#include "drmaa.h"
int drmaa_init(
const char *contact,
char *error_diagnosis,
size_t error_diag_len
);
int drmaa_exit(
char *error_diagnosis,
size_t error_diag_len
);
DESCRIPTION
drmaa_init()
The drmaa_init() function initializes the Sun Grid Engine
DRMAA API library for all threads of the process and creates
a new DRMAA session. This routine must be called once before
any other DRMAA call, except for drmaa_version(3),
drmaa_get_DRM_system(3), and
drmaa_get_DRMAA_implementation(3). Except for the above
listed functions, no DRMAA functions may be called before
the drmaa_init() function completes. Any DRMAA function
which is called before the drmaa_init() function completes
will return a DRMAA_ERRNO_NO_ACTIVE_SESSION error. Contact
is an implementation dependent string which may be used to
specify which Sun Grid Engine cell to use. If contact is
NULL, the default Sun Grid Engine cell will be used. In the
1.0 implementation contact may have the following value:
session=<session_id>. To determine the session_id, the
drmaa_get_contact(3) function should be called after the
session has already been initialized. By passing the
session=<session_id> string to the drmaa_init() function,
instead of creating a new session, DRMAA will attempt to
reconnect to the session indicated by the session_id. The
result of reconnecting to a previous session is that all
jobs previously submitted in that session that are still
running will be available in the DRMAA session. Note, how-
ever, that jobs which ended before the call to drmaa_init()
may not be available or may have no associated exit informa-
tion or resource usage data.
drmaa_exit()
The drmaa_exit() function closes the DRMAA session for all
threads and must be called before process termination. The
drmaa_exit() function may be called only once by a single
thread in the process and may only be called after the
drmaa_init() function has completed. Any DRMAA function,
other than drmaa_init(3), which is called after the
drmaa_exit() function completes will return a
DRMAA_ERRNO_NO_ACTIVE_SESSION error.
The drmaa_exit() function does necessary clean up of the
DRMAA session state, including unregistering from the qmas-
ter(8). If the drmaa_exit() function is not called, the
qmaster will store events for the DRMAA client until the
connection times out, causing extra work for the qmaster and
consuming system resources.
Submitted jobs are not affected by the drmaa_exit() func-
tion.
ENVIRONMENTAL VARIABLES
SGE_ROOT Specifies the location of the Sun Grid Engine
standard configuration files.
SGE_CELL If set, specifies the default Sun Grid Engine
cell to be used. To address a Sun Grid Engine
cell Sun Grid Engine uses (in the order of
precedence):
The name of the cell specified in the
environment variable SGE_CELL, if it is
set.
The name of the default cell, i.e.
default.
SGE_DEBUG_LEVEL
If set, specifies that debug information
should be written to stderr. In addition the
level of detail in which debug information is
generated is defined.
SGE_QMASTER_PORT
If set, specifies the tcp port on which the
sge_qmaster is expected to listen for commun-
ication requests. Most installations will
use a services map entry instead to define
that port.
RETURN VALUES
Upon successful completion, drmaa_init() and drmaa_exit()
return DRMAA_ERRNO_SUCCESS. Other values indicate an error.
Up to error_diag_len characters of error related diagnosis
information is then provided in the buffer error_diagnosis.
ERRORS
The drmaa_init() and drmaa_exit() functions will fail if:
DRMAA_ERRNO_INTERNAL_ERROR
Unexpected or internal DRMAA error, like system call
failure, etc.
DRMAA_ERRNO_DRM_COMMUNICATION_FAILURE
Could not contact DRM system for this request.
DRMAA_ERRNO_AUTH_FAILURE
The specified request is not processed successfully due to
authorization failure.
DRMAA_ERRNO_INVALID_ARGUMENT
The input value for an argument is invalid.
The drmaa_init() will fail if:
DRMAA_ERRNO_INVALID_CONTACT_STRING
Initialization failed due to invalid contact string.
DRMAA_ERRNO_DEFAULT_CONTACT_STRING_ERROR
Could not use the default contact string to connect to DRM
system.
DRMAA_ERRNO_DRMS_INIT_FAILED
Initialization failed due to failure to init DRM system.
DRMAA_ERRNO_ALREADY_ACTIVE_SESSION
Initialization failed due to existing DRMAA session.
DRMAA_ERRNO_NO_MEMORY
Failed allocating memory.
The drmaa_exit() will fail if:
DRMAA_ERRNO_NO_ACTIVE_SESSION
Failed because there is no active session.
DRMAA_ERRNO_DRMS_EXIT_ERROR
DRM system disengagement failed.
SEE ALSO
drmaa_submit(3).
Man(1) output converted with
man2html