Cancel routines are called with the cancel spinlock
held and must release it at some point during their execution.
 
http://msdn.microsoft.com/en-us/library/windows/hardware/ff540742(v=vs.85).… 
Ok, nice to know, thanks Thomas :)
Hermès
-----Message d'origine-----
De : ros-dev-bounces(a)reactos.org [mailto:ros-dev-bounces@reactos.org] De la part de Thomas
Faber
Envoyé : vendredi 20 septembre 2013 11:53
À : ReactOS Development List
Objet : [SPAM]Re: [ros-dev] [ros-diffs] [tfaber] 60231: [NPFS] - Release cancel spinlock
in NpCancelListeningQueueIrp
Yay someone actually reviewing code :D
Cancel routines are called with the cancel spinlock held and must release it at some point
during their execution.
http://msdn.microsoft.com/en-us/library/windows/hardware/ff540742(v=vs.85).…
On 2013-09-20 11:53, Hermès BÉLUSCA - MAÏTO wrote:
  I think a call to IoReleaseCancelSpinLock should be
balanced with a
 call to IoAcquireCancelSpinLock somewhere in the npfs_new code, however, looking at:
 
http://git.reactos.org/?p=reactos.git
 <http://git.reactos.org/?p=reactos.git&a=search&h=HEAD&st=grep&s=IoAcq
 uireCa
 ncelSpinLock> &a=search&h=HEAD&st=grep&s=IoAcquireCancelSpinLock
 I don’t see any call to IoAcquireCancelSpinLock in npfs_new. Can
 someone explain to me, why ?
 Hermès
 Author: tfaber
 Date: Fri Sep 20 06:49:21 2013
 New Revision: 60231
 URL: 
http://svn.reactos.org/svn/reactos?rev=60231&view=rev
 Log:
 [NPFS]
 - Release cancel spinlock in NpCancelListeningQueueIrp
 Modified:
     trunk/reactos/drivers/filesystems/npfs_new/statesup.c
 Modified: trunk/reactos/drivers/filesystems/npfs_new/statesup.c
 URL:
 
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/filesystems/n
 pfs_ne w/statesup.c?rev=60231&r1=60230&r2=60231&view=diff
 ======================================================================
 ======
 ==
 --- trunk/reactos/drivers/filesystems/npfs_new/statesup.c     [iso-8859-1]
 (original)
 +++ trunk/reactos/drivers/filesystems/npfs_new/statesup.c
 +++ [iso-8859-1] Fri
 Sep 20 06:49:21 2013
 @@ -20,6 +20,8 @@
 NpCancelListeningQueueIrp(IN PDEVICE_OBJECT DeviceObject,
                            IN PIRP Irp)
 {
 +    IoReleaseCancelSpinLock(Irp->CancelIrql);
 +
      FsRtlEnterFileSystem();
      NpAcquireExclusiveVcb(); 
_______________________________________________
Ros-dev mailing list
Ros-dev(a)reactos.org
http://www.reactos.org/mailman/listinfo/ros-dev