else
{
/* System Thread */
Thread->StartAddress = StartRoutine;
PspSetCrossThreadFlag(Thread, CT_SYSTEM_THREAD_BIT);
Looks good to me.
And CT_SYSTEM_THREAD_BIT is defined to 0x10 which is correct:
union
{
struct
{
ULONG Terminated:1;
#if (NTDDI_VERSION >= NTDDI_LONGHORN)
ULONG ThreadInserted:1;
#else
ULONG DeadThread:1;
#endif
ULONG HideFromDebugger:1;
ULONG ActiveImpersonationInfo:1;
ULONG SystemThread:1;
so your patch was correct and should be re-applied.
On 12-Aug-08, at 3:22 PM, sginsberg(a)svn.reactos.org wrote:
> Author: sginsberg
> Date: Tue Aug 12 17:22:51 2008
> New Revision: 35294
>
> URL: http://svn.reactos.org/svn/reactos?rev=35294&view=rev
> Log:
> - Temporarily revert my last change. We don't set the SystemThread
> flag appropriately and it is always zero
>
> Modified:
> trunk/reactos/ntoskrnl/ps/kill.c
>
> Modified: trunk/reactos/ntoskrnl/ps/kill.c
> URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/ps/kill.c?rev=352…
> =
> =
> =
> =
> =
> =
> =
> =
> ======================================================================
> --- trunk/reactos/ntoskrnl/ps/kill.c [iso-8859-1] (original)
> +++ trunk/reactos/ntoskrnl/ps/kill.c [iso-8859-1] Tue Aug 12
> 17:22:51 2008
> @@ -1086,7 +1086,7 @@
> PETHREAD Thread = PsGetCurrentThread();
>
> /* Make sure this is a system thread */
> - if (!Thread->SystemThread) return STATUS_INVALID_PARAMETER;
> + if (Thread->SystemThread) return STATUS_INVALID_PARAMETER;
>
> /* Terminate it for real */
> return PspTerminateThreadByPointer(Thread, ExitStatus, TRUE);
>
Best regards,
Alex Ionescu
Timo Kreuzer wrote:
> And when I have already started moaning about this kind of stuff... what
> about the arm guys? They are so secret they can't even make their
> changelog themselfs? Why that? And why are they so secret that noone
> knows? I mean we keep demanding real name and email from everyone
> creating a patch, yet a bunch of people have direct commit access and
> they keep hiding their names? What reasons are there
I thought it was common knowledge already that Alex is the (only) arm
"guys". Isn't it more than obvious? Very same coding style, knowledge,
comments, rants, ... How stupid does one have to be not to realize the
connection? Prove me otherwise... And since you're complaining about not
being open, why do you only post this to the private list?
Thomas
MS defines most of those in the wdk, if NO_INTERLOCKED_INTRINSICS is not defined
> +#define InterlockedDecrement _InterlockedDecrement
> +#define InterlockedDecrement16 _InterlockedDecrement16
> +#define InterlockedIncrement _InterlockedIncrement
> +#define InterlockedIncrement16 _InterlockedIncrement16
> +#define InterlockedCompareExchange _InterlockedCompareExchange
> +#define InterlockedCompareExchange16 _InterlockedCompareExchange16
> +#define InterlockedCompareExchange64 _InterlockedCompareExchange64
> +#define InterlockedExchange _InterlockedExchange
> +#define InterlockedExchangeAdd _InterlockedExchangeAdd
>
On Tue, Aug 5, 2008 at 10:45 AM, <dchapyshev(a)svn.reactos.org> wrote:
> +#include "../crypt/crypt.h"
Minor nitpicking, Do you mind fixing this?
Thanks
--
Steven Edwards
"There is one thing stronger than all the armies in the world, and
that is an idea whose time has come." - Victor Hugo
On Sat, Aug 2, 2008 at 6:33 PM, <mkupfer(a)svn.reactos.org> wrote:
> Author: mkupfer
> Date: Sat Aug 2 17:33:58 2008
> New Revision: 35050
>
> URL: http://svn.reactos.org/svn/reactos?rev=35050&view=rev
> Log:
> revert to 35046, sorry for mistake
Ignore my message, I did not see where you fixed it.
Thanks
--
Steven Edwards
"There is one thing stronger than all the armies in the world, and
that is an idea whose time has come." - Victor Hugo
On Sat, Aug 2, 2008 at 5:57 PM, <mkupfer(a)svn.reactos.org> wrote:
> Author: mkupfer
> Date: Sat Aug 2 16:57:53 2008
> New Revision: 35047
>
> URL: http://svn.reactos.org/svn/reactos?rev=35047&view=rev
> Log:
> Reorganize shdocvw:
> - Moved and renamed language resource files into created 'lang' directory.
> - Outdated shdocvw_ros.diff removed.
This is wrong, shdocvw will keep being synced as soon as the widl bug
is fixed so the resources should stay in the dll root to save whoever
is doing the sync the trouble of having to move resources around.
--
Steven Edwards
"There is one thing stronger than all the armies in the world, and
that is an idea whose time has come." - Victor Hugo
I've written a shell to use with ReactOS' KDBG that gives a more accurate
view of what's going on than other methods available to us (it automatically
grabs the module list and loads source files as appropriate, shows locals etc)
It's not complete yet, and I'm hoping that others will want to participate in
working on it. Therefore, I'm asking those with C# experience on windows who
want to get involved to lend a hand in adding the remaining features:
- abstract pipe implementation for serial ports and windows named pipes
- managing breakpoints
- type decoding and struct display using the info available from dbghelp
- thread and process listing and focus
- a 'watch' window and watchpoints
- clipboard interaction
- annontated disassembly
- general features (bugzilla reporting, automatic interaction with rospaste)
To work on this, you don't need to be a wizard, just familiar with windows
forms development in C# and willing to learn a thing or two along the way,
along with a vm to intstall reactos in and beat up on :-)
Some day we'll have everything working with windows style kernel debugging,
but until then I feel that a superior stopgap is valuable.
--
art yerkes <ayerkes(a)speakeasy.net>
Alex wrote:
>It looks like a guarded mutex is being acquired at DPC level. That's
>pretty bad.
Well, at least it's redundant and useless. :-)
>Pushlocks shouldn't be acquired at DPC level either
Indeed. If "you" are at DPC level, you have but one synchronization to
care about - SMP (i.e. CPU<->CPU).
>, but there's no
>ASSERTs in the pushlock code that check for that.
An oversight that should be fixed, I'm sure (even if it happened to
slow down the system by a whole order of magnitude, which it won't).
>MMProbeAndLockPages should never be called for paged pool addreses
>while at DPC level,
Should MmProbeAndLock ever be called at IRQL above APC level? I mean,
what if the probing fails? Should the paging executive somehow preempt
this call and page in the missing pages (or should it simply throw a
"page not present" exception - not too great to do at DPC level I'd
say)?
>which means the driver probably called it for a
>non-paged pool address.
If my previous suspicion is correct, I build on that and suspect this
is an error in itself. The ProbeAndLock call should be done at APC
level (though I may be completely wrong, but do read my finishing
line).
>In that case, the whole loop about checking if the page is present
and
>then faulting it in is irrelevant, and won't happen.
Right. Page fault at DPC level == Bad Move(tm).
--
Mike