I read the diff backward. I agree with the *actual* change, which is why I
was concerned about the opposite ;-)

Best regards,
Alex Ionescu

On Wed, Sep 16, 2015 at 5:42 AM, Thomas Faber <[email protected]>
wrote:

> You mean KernelMode->UserMode in the KeWaitForSingleObject call?
> The only purpose of this wait is to fulfill a user request (namely a
> read operation). If the thread performing the read is terminated,
> there's no reason to stick around in msfs until data is available in the
> mailslot. The wait should instead be aborted and the thread allowed
> to terminate, which is exactly what this change will achieve.
>
>
> On 2015-09-16 02:27, Alex Ionescu wrote:
> > I'm not convinced on the user->kernel changes Thomas.
> >
> > Best regards,
> > Alex Ionescu
> >
> > On Tue, Sep 15, 2015 at 5:40 AM, <[email protected]> wrote:
> >> --- trunk/reactos/drivers/filesystems/msfs/rw.c [iso-8859-1] (original)
> >> +++ trunk/reactos/drivers/filesystems/msfs/rw.c [iso-8859-1] Tue Sep 15
> >> 09:40:30 2015
> >> @@ -52,16 +53,21 @@
> >>
> >>      Length = IoStack->Parameters.Read.Length;
> >>      if (Irp->MdlAddress)
> >> -        Buffer = MmGetSystemAddressForMdl (Irp->MdlAddress);
> >> +        Buffer = MmGetSystemAddressForMdlSafe(Irp->MdlAddress,
> >> NormalPagePriority);
> >>      else
> >>          Buffer = Irp->UserBuffer;
> >>
> >> +    if (Fcb->TimeOut.QuadPart == -1LL)
> >> +        Timeout = NULL;
> >> +    else
> >> +        Timeout = &Fcb->TimeOut;
> >> +
> >>      Status = KeWaitForSingleObject(&Fcb->MessageEvent,
> >>                                     UserRequest,
> >> -                                   KernelMode,
> >> +                                   UserMode,
> >>                                     FALSE,
> >> -                                   &Fcb->TimeOut);
> >> -    if (NT_SUCCESS(Status))
> >> +                                   Timeout);
> >> +    if (Status != STATUS_USER_APC)
> >>      {
> >>          if (Fcb->MessageCount > 0)
> >>          {
>
>
> _______________________________________________
> Ros-dev mailing list
> [email protected]
> http://www.reactos.org/mailman/listinfo/ros-dev
>
_______________________________________________
Ros-dev mailing list
[email protected]
http://www.reactos.org/mailman/listinfo/ros-dev

Reply via email to