Module Name: src Committed By: bouyer Date: Sun Jan 13 16:08:23 UTC 2013
Modified Files: src/sys/netsmb [netbsd-5]: smb_iod.c smb_rq.c Log Message: Pull up following revision(s) (requested by nakayama in ticket #1825): sys/netsmb/smb_rq.c: revision 1.32 sys/netsmb/smb_iod.c: revision 1.31 sys/netsmb/smb_iod.c: revision 1.32 sys/netsmb/smb_iod.c: revision 1.33 sys/netsmb/smb_iod.c: revision 1.34 sys/netsmb/smb_iod.c: revision 1.35 Do not call callout_stop() unless the structure was previoulsy initialised for a non null timeout. Do initialise the callout when fetching a new request structure from the pool, not when starting the timer. Likewise, destroy the callout when giving back the item to the pool. Send data for as long as there is new data available. Otherwise there was a danger of smb_iod_recvall() blocking, hence releasing the kernel lock, new data creeping into the queue, and a wakeup being missed (well, there's still a race, but since it's theoretical enough for me to never have encountered it, I'll rather solve it by periodic wakeups). defensive programming: wake up iod thread once a second "just in case" add comment to previous stating periodic wakeups can be nuked once smb is mpsafe. To generate a diff of this commit: cvs rdiff -u -r1.29 -r1.29.6.1 src/sys/netsmb/smb_iod.c cvs rdiff -u -r1.30 -r1.30.6.1 src/sys/netsmb/smb_rq.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.