clog_cput(4)
NAME
- CLOG_cput - move a log record from one of the input
- buffers to the
output
SYNOPSIS
void CLOG_cput( ptr )
double **ptr;
This function moves records from one of the three buffers
being merged
into the output buffer. When the output buffer is
filled, it is sent
to the parent. A separate output routine handles output
on the root.
If the input buffer is emptied (endblock record is
read) and corresponds to a child, a new buffer is received from the
child. When an
endlog record is read on the input buffer, the number
of sources is
decremented and the time is set to positive infinity so
that the empty
input source will never have the lowest time.
At entry we assume that *p is pointing to a log record
that is not an
end-of-block record, and that outbuf is pointing to a
buffer that has
room in it for the record. We ensure that these conditions are met on
exit as well, by sending (or writing, if we are the root)
and receiving
blocks as necessary.
Input parameters
pointer to the record to be moved into the output buffer
LOCATION
- clog_merge.c
- 11/5/2003