DECLARE_WAIT_QUEUE_HEAD


 
Thread Tools Search this Thread
Operating Systems Linux DECLARE_WAIT_QUEUE_HEAD
# 1  
Old 05-17-2010
DECLARE_WAIT_QUEUE_HEAD

Hi,

In my driver, I am using DECLARE_WAIT_QUEUE_HEAD to create a wait queue and static DECLARE_WORK(io_work, io_read); to declare work queue.
Now, If ERESTARTSYS error occurs while waiting for a condition to get fulfilled, the wait gets over and returns with an error. At that point i am clearing all the variable. I want to reset the work queue also. Is there any function to do that else, how can I do that.
Login or Register to Ask a Question

Previous Thread | Next Thread
Login or Register to Ask a Question
WR(9F)							   Kernel Functions for Drivers 						    WR(9F)

NAME
WR, wr - get pointer to the write queue for this module or driver SYNOPSIS
#include <sys/stream.h> #include <sys/ddi.h> queue_t *WR(queue_t *q); INTERFACE LEVEL
Architecture independent level 1 (DDI/DKI). PARAMETERS
q Pointer to the read queue whose write queue is to be returned. DESCRIPTION
The WR() function accepts a read queue pointer as an argument and returns a pointer to the write queue of the same module. CAUTION: Make sure the argument to this function is a pointer to a read queue. WR() will not check for queue type, and a system panic could result if the pointer is not to a read queue. RETURN VALUES
The pointer to the write queue. CONTEXT
WR() can be called from user or interrupt context. EXAMPLES
Example 1: Using WR() In a STREAMS close(9E) routine, the driver or module is passed a pointer to the read queue. These usually are set to the address of the module-specific data structure for the minor device. 1 xxxclose(q, flag) 2 queue_t *q; 3 int flag; 4 { 5 q->q_ptr = NULL; 6 WR(q)->q_ptr = NULL; . . . 7 } SEE ALSO
close(9E), OTHERQ(9F), RD(9F) Writing Device Drivers STREAMS Programming Guide SunOS 5.10 15 Nov 1991 WR(9F)