LAM_RTRGET(2)

NAME
lam_rtrget, lam_rtrforget, lam_rtrfget, lam_rtrfforget - Unload LAM trace data.

SYNOPSIS

int lam_rtrget (int nodeid, int listno, int pid, char **buffer);

int lam_rtrforget (int nodeid, int listno, int pid, char **buffer);

int lam_rtrfget (int nodeid, int listno, int pid, int fd);

int lam_rtrfforget (int nodeid, int listno, int pid, int fd);

DESCRIPTION
The client function, lam_rtrget(), gets a copy of selected trace data held by a remote trace daemon and stores it in space allocated and assigned to the buffer argument. It does not obtain trace data still stored with traced processes and not found in the daemon. A traced process can be forced to flush its trace data by sending it a SIGTRACE signal. See MPIL_Signal(2).

Trace data is unloaded from the selected node and list (see lam_rtrstore(2)) that was produced by the selected process ID. A value of -1 for listno and/or pid selects all lists and/or all trace producing clients, respectively. The combination effectively unloads all stored trace data from the given node.

Trace data is read non-destructively by lam_rtrget() and destructively by lam_rtrforget(). The trace data is stored in an allocated buffer whose address is passed back to the caller through the buffer argument. The caller is responsible for calling free(3) on this pointer.

Trace data is read into a file, instead of an allocated buffer, by lam_rtrfget() and lam_rtrfforget(). The file is given as a descriptor, returned by open(2) and opened for write.

SEE ALSO
lam_rtrstore(2), MPIL_Signal(2)