XINU
Functions
rflclose.c File Reference
#include <xinu.h>
Include dependency graph for rflclose.c:

Go to the source code of this file.

Functions

devcall rflclose (struct dentry *devptr)
 

Function Documentation

◆ rflclose()

devcall rflclose ( struct dentry devptr)

Definition at line 9 of file rflclose.c.

References dentry::dvminor, OK, Rf_data, RF_FREE, rfdata::rf_mutex, rfltab, rflcblk::rfstate, signal(), SYSERR, and wait().

12 {
13  struct rflcblk *rfptr; /* Pointer to control block */
14 
15  /* Wait for exclusive access */
16 
18 
19  /* Verify remote file device is open */
20 
21  rfptr = &rfltab[devptr->dvminor];
22  if (rfptr->rfstate == RF_FREE) {
24  return SYSERR;
25  }
26 
27  /* Mark device closed */
28 
29  rfptr->rfstate = RF_FREE;
31  return OK;
32 }
int32 dvminor
Definition: conf.h:8
#define SYSERR
処理が失敗した場合
Definition: kernel.h:79
#define OK
処理が成功した場合
Definition: kernel.h:77
struct rflcblk rfltab[]
Definition: rflinit.c:5
int32 rfstate
Definition: rfilesys.h:50
struct rfdata Rf_data
Definition: rfsinit.c:10
sid32 rf_mutex
Definition: rfilesys.h:38
#define RF_FREE
Definition: rfilesys.h:46
syscall wait(sid32)
Definition: wait.c:9
syscall signal(sid32)
セマフォにシグナルを送り、待機プロセスがある場合は解除する。
Definition: signal.c:18
Here is the call graph for this function: