Previous topic |
Next topic |
Contents |
Contact z/OS |
Library |
PDF
Query phase z/OS UNIX System Services File System Interface Reference SA23-2285-00 |
|
In the Query phase of select processing, the LFS queries the PFSs by calling vn_select(Query) with the vnode that is represented by each file descriptor. During vn_select(Query), the PFS must:
The Query phase ends as soon as any PFS reports immediate status. The remaining PFSs are contacted during the Cancel phase, so the user can receive the most information available at this time. The LFS may omit recalling the PFS for the Cancel phase if:
If the PFS is dependent on being recalled for Cancel whenever it has been recalled for Query, it must set a PFS_work_token to some nonzero value. For optimal performance, the PFS should not have this dependence when it is able to report immediate status to the Query request. If no PFS reports immediate status, the LFS waits for one of the PFSs to call osi_selpost, or for the time limit to expire. Event occurrence: Eventually an event occurs asynchronously within a PFS for a given file. The PFS process or thread that handles these events notices that the file has selects pending for it. Examples of such events are: data arriving for a read, buffers freeing up for a write, or sessions terminating for an exceptional condition. When such an event occurs, the PFS is expected to do the following:
The osi_selpost routine uses the select token to find the waiting
process and thread and post it.
Note: The identity of the
event that occurred is not passed to osi_selpost. This information
is picked up by the LFS during the Cancel phase.
|
Copyright IBM Corporation 1990, 2014
|