qbufcall() serves as a qtimeout(9F) call of indeterminate length.
When a buffer allocation request fails, qbufcall() can be used to schedule the routine func to be called with the argument arg when a buffer
becomes available. func may call allocb() or it may do something else.
The qbufcall() function is tailored to be used with the enhanced STREAMS framework interface, which is based on the concept of perimeters. (See mt-streams(9F).) qbufcall() schedules the specified function to execute
after entering the perimeters associated with the queue passed in as the first parameter to qbufcall(). All outstanding bufcalls should be cancelled before the close of a driver or module
returns.
qprocson(9F) must be called before calling either qbufcall()
or qtimeout(9F).
|