aboutsummaryrefslogtreecommitdiff
path: root/sys/fio/fflsbf.x
blob: 7503609a128a2ef4e6e2d2bebad53b5eecf1f43d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# Copyright(c) 1986 Association of Universities for Research in Astronomy Inc.

include	<syserr.h>
include	<config.h>
include	<fio.h>

# FFLSBF -- Flush the file buffer.  Called by FFAULT to initiate a write
# of the file buffer when a fault occurs.

procedure fflsbf (fd, bp, maxchars, buffer_offset)

int	fd
pointer	bp
int	maxchars
long	buffer_offset
errchk	fwatio
include	<fio.com>

begin
	fp = fiodes[fd]

	if (FBUFMODE(fp) != INACTIVE)
	    call fwatio (fd)
	call awrite (fd, Memc[bp], maxchars, buffer_offset)

	FBUFMODE(fp) = WRITE_IN_PROGRESS
end