e***@netscape.net
2005-12-11 02:50:10 UTC
Hello,
Question about particular code in LiS-2.18.
In lis_stropen() function the following 2 lines:
if ((err = lis_set_q_sync(head->sd_wq, LIS_QLOCK_QUEUE)) == 0)
err = lis_set_q_sync(head->sd_wq->q_next, LIS_DEVST(maj).f_qlock_option) ;
The f_qlock_option passed to lis_set_q_sync() in 2nd line can be -1.
In fact it is -1.
The lis_set_q_sync() will do nasty thing if -1 is passed to it.
It will just free existing queue lock and return.
I also have doubts that it is a good thing to manipulate with queue lock
of the q_next queue without freezing that q_next queue somehow.
[What if it is queuerun'ed at the moment?]
The question is: what would be a good fix for that 2nd call with f_qlock_option parameter?
Guess I should check f_qlock_option and if it is -1 then what?
Skip that lis_set_q_sync() call or call it with LIS_QLOCK_QUEUE instead?
--
Eugene
___________________________________________________
Try the New Netscape Mail Today!
Virtually Spam-Free | More Storage | Import Your Contact List
http://mail.netscape.com
Question about particular code in LiS-2.18.
In lis_stropen() function the following 2 lines:
if ((err = lis_set_q_sync(head->sd_wq, LIS_QLOCK_QUEUE)) == 0)
err = lis_set_q_sync(head->sd_wq->q_next, LIS_DEVST(maj).f_qlock_option) ;
The f_qlock_option passed to lis_set_q_sync() in 2nd line can be -1.
In fact it is -1.
The lis_set_q_sync() will do nasty thing if -1 is passed to it.
It will just free existing queue lock and return.
I also have doubts that it is a good thing to manipulate with queue lock
of the q_next queue without freezing that q_next queue somehow.
[What if it is queuerun'ed at the moment?]
The question is: what would be a good fix for that 2nd call with f_qlock_option parameter?
Guess I should check f_qlock_option and if it is -1 then what?
Skip that lis_set_q_sync() call or call it with LIS_QLOCK_QUEUE instead?
--
Eugene
___________________________________________________
Try the New Netscape Mail Today!
Virtually Spam-Free | More Storage | Import Your Contact List
http://mail.netscape.com