Am 05.08.2011 21:35, schrieb jgardou(a)svn.reactos.org:
> Author: jgardou
> Date: Fri Aug 5 19:35:54 2011
> New Revision: 53087
>
> URL: http://svn.reactos.org/svn/reactos?rev=53087&view=rev
> Log:
> [PSDK]
> - do not redefine UNICODE_STRING and NTSTATUS if wintrnl.h has already been included
...
> -#if !defined(_NTDEF_)
> +#if !defined(_NTDEF_)&& !defined(__WINE_WINTERNL_H)
> typedef LONG NTSTATUS, *PNTSTATUS;
> #endif
Thats disgusting!
Why do we need this? I hate hacking headers because of crap elsewhere.
Regards,
Timo
Hi everybody,
As promised, here are the status updates of several ReactOS people based
on the texts I received after our failed meeting a week ago.
Thomas Faber has reported that the Kernel-Mode Test Framework is pretty
much standing, together with extensive tests for Spin Locks, Executive
Resources and IRQ-Level functions. Additional "comfort" functions might
be added as the need arises.
Basic tests also exist for Singly and Doubly Linked Lists, Hard Error
Messages, Deferred Procedure Calls and Asynchronous Procedure Call
Disabling. Furthermore, applicable tests have been ported from the old
"kmtests" module.
Thomas is currently working on tests for Events, Fast and Guarded
Mutexes as well as basic I/O functionality (Driver/Device Objects,
app-driver communication). Latter ones are partly based on the
"not-applicable" old tests. More tests concerning Object Referencing,
Singly and Doubly Linked Lists and Sequenced lists are going to follow.
Even more may follow afterwards based on his personal function list or
current requirements. Finally, the integration with our automated
testing tools has to be tested.
Colin Finck did not have much time for ReactOS in the last month, so he
could just assist Pierre Schweitzer with setting up the Icinga
monitoring solution.
Claudiu Mihail has integrated lwIP into the tcpip.sys driver. The
library has also been updated to the most recent version (1.40), which
required no changes to the interface code. On top of this, the speed
issue has been resolved, so the performance of our lwIP-based stack is
on par with our existing OSKitTCP-based stack now.
The new network stack has been tested by replacing the tcpip.sys of a
regular Trunk build with the lwIP-based one. This posed no problems, so
merging the new stack back to Trunk should work nicely. According to
Claudiu, initial testing using applications such as Opera, Firefox and
BitTorrent shows very promising results in terms of stability and
performance.
In the short term future, he plans to conduct more testing to fix any
outstanding bugs in the implementation. Besides, he plans to optimize
some aspects of the implementation, especially regarding memory usage,
together with Art Yerkes and Cameron Gutman.
For the long-term future, which also includes the time after GSoC, he
thinks about moving more TCP/IP functionality to lwIP such as UDP.
Pierre Schweitzer has been setting up an Icinga solution for monitoring
all our physical servers and VMs, including the services running on
them. This will allow the project to have a higher quality of service,
and let ReactOS sysadmins be aware quicker about issues raising on the
servers.
He also announced that he is leaving ReactOS development and only
focuses on sysadmin work for the project.
- Colin
Hello all,
Today's planned meeting has been postponed to the 25th August (the time
of the next regular meeting) based on a voting of the participants
present at 19:39 UTC. These were:
* Giannis Adamopoulos
* Javier Agustìn Fernàndez Arroyo
* Maciej Bialas
* Thomas Faber
* Colin Finck
* Ziliang Guo
* Cameron Gutman
* Rafal Harabien
* Timo Kreuzer
* Matthias Kupfer
* Igor Paliychuk
* Sylvain Petreolle
* Daniel Reimer
* Pierre Schweitzer
* Samuel Serapion
* Olaf Siejka
○ Result:
[19:44] <VoteBot> Question: Please vote for a date for postponing
this meeting.
[19:44] <VoteBot> Answers:
[19:44] <VoteBot> Abstention - 7 votes
[19:44] <VoteBot> 11th August (in 2 weeks) - 3 votes
[19:44] <VoteBot> 25th August (in 4 weeks, regular next meeting) -
6 votes
[19:44] <VoteBot> Total number of votes: 16
○ Main reasons were that the following people were still not present
at the time of voting:
* Aleksey Bragin (supposed meeting leader and key person in the
Arwinss and Release preparation agenda points)
* Amine Khaldi (supposed backup meeting leader and key person in the
CMake agenda point)
* Ged Murphy (key person in the GSoC and Driver Signing agenda
points)
○ Unfortunately, nobody has been prepared for this kind of situation,
so a lot of time has been wasted and confusing decisions might have
been made.
○ Postponing the points also gives Aleksey time to prepare a new
Arwinss build and the Build Environment guys (Daniel, me, anybody
wants to join?) time to prepare a final CMake version of RosBE, which
might be a factor when deciding about doing the migration to CMake.
○ The IRC Server has been closed at 20:03 UTC.
To allow the participants to get an unbiased idea about today's meeting,
I will post the original IRC log by the server to ros-priv. Would
actually like to make it public on ros-dev as well, but will abstain
from doing so until Ged's confusion about the openness of our meetings
is cleared.
If people have already prepared texts for this meeting (status updates,
whatever else you wanted to say), please send them to my E-Mail address
within the next 3 days and I'll compose a summary out of them, which I
will send to ros-dev.
If you think that these texts don't just deserve a simple summary, keep
them for the next meeting or do whatever you want about them.
And finally a personal note: Please keep in mind that it was not an easy
decision for me to just close the IRC Server after I believed that main
discussions were over. If I had left it running, it would have
invalidated the voting (again) and participants would have treated the
meeting even more as a joke. By closing it, I obviously received
complaints from people who had prepared stuff for this meeting and
wanted to revive it.
In good hopes,
Colin
Hello,
Let me invite you to the monthly status meeting taking place last thursday
of this month, 28th of July, 19:00 UTC.
The meeting will be at irc://fezile.reactos.org (Port 6667, no SSL) in the
channel #meeting. Note that the IRC service will only be started shortly
before the meeting. Everyone is invited to listen, and active community
members have their passwords so that they can participate in the discussion.
If someone doesn't have a password - please don't hesitate to email Colin to
get one. Colin - would you publish the most up-to-date list of participants?
Proposed agenda for the meeting:
1. Arwinss adoption voting.
2. CMake status report?. (Do we need to decide anything? If not, then let's
move discussion to the mailing list)
3. Release preparation status report. (Decide when to do winesyncs and
branch off the release)
More suggestions are welcome.
With the best regards,
Aleksey Bragin.
Hi,
Several times now cmake build has been broken. Time for some action!
Last meeting I asked everyone to test/use cmake. It was also mentioned
that if questions arise, we (Amine and me) would be happy to help out. I
can't remember anyone has asked how it works, so I assume noone had any
problems. There's also a pretty good wiki entry describing the whole
procedure for n00bs.
Now people tell me it's complicated, people are complaining that its
ridiculous to have 2 build systems, etc.
And probably noone has ever tried it.
We really need to move on.
I don't like having 2 build systems as well.
Current blocker is the debugging which has some issues, Arty is working
on that. Another problem is a boot problem on real hardware, but no I
don't know on which configuration it doesn't work, so we need more
people testing it on their real hardware setup and report any issues.
Here's a list with current issues:
http://www.reactos.org/wiki/CMake_Todo
So please:
If you are missing something, let us know.
If you like to make it better, make suggestions.
But stop ignoring cmake!
If noone cares and everyone just thinks he can give a s^Z damn until we
officially switch, then we can as well delete all cmake stuff and keep
rbuild. It has a lot of awesome advantages, like you only have to type
one command to build everything and you don't need to install cmake and
you can export whatever you want from kernel32 even if the functions
don't exist. Also you can enjoy the rbuild-loop again and again.
Or we can do it the hard way and delete rbuild, so people are forced to
use cmake. I'm sure this approach would be *really* appreaciated.
Thanks,
Timo
This won't work, since new Fibers, created with CreateFiber(Ex) don't
push a "return address" on the stack, but set the Eip member to
BaseFiberStartup.
Am 23.07.2011 14:08, schrieb ion(a)svn.reactos.org:
> Author: ion
> Date: Sat Jul 23 12:08:36 2011
> New Revision: 52807
>
> URL: http://svn.reactos.org/svn/reactos?rev=52807&view=rev
> Log:
> [KERNEL32]: Optimize SwitchToFiber to simply use "ret" to jump between fibers, instead of saving EIP and doing a JMP.
> Bug #50: SwitchToFiber needs to check if FXSR is *NOT* present in order to skip using ldmxcsr/stmxcsr. Previously, it would check if it's unsupported, and jump past the instruction if it was (resulting in invalid opcode instructions on older systems)
> 50 bugs. Penance has been paid.
>
> Modified:
> trunk/reactos/dll/win32/kernel32/client/i386/fiber.S
>
> Modified: trunk/reactos/dll/win32/kernel32/client/i386/fiber.S
> URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/kernel32/client/…
> ==============================================================================
> --- trunk/reactos/dll/win32/kernel32/client/i386/fiber.S [iso-8859-1] (original)
> +++ trunk/reactos/dll/win32/kernel32/client/i386/fiber.S [iso-8859-1] Sat Jul 23 12:08:36 2011
> @@ -26,20 +26,16 @@
> mov [eax+FIBER_CONTEXT_EDI], edi
> mov [eax+FIBER_CONTEXT_EBP], ebp
>
> - /* Save the return address */
> - mov ebx, [esp]
> - mov [eax+FIBER_CONTEXT_EIP], ebx
> -
> /* Check if we're to save FPU State */
> cmp dword ptr [eax+FIBER_CONTEXT_FLAGS], CONTEXT_FULL OR CONTEXT_FLOATING_POINT
> jnz NoFpuStateSave
>
> /* Save the FPU State (Status and Control)*/
> fstsw [eax+FIBER_CONTEXT_FLOAT_SAVE_STATUS_WORD]
> - fstcw [eax+FIBER_CONTEXT_FLOAT_SAVE_CONTROL_WORD]
> + fnstcw [eax+FIBER_CONTEXT_FLOAT_SAVE_CONTROL_WORD]
>
> /* Check if the CPU supports SIMD MXCSR State Save */
> - cmp byte ptr ds:[PROCESSOR_FEATURE_FXSR], 0
> + cmp byte ptr ds:[PROCESSOR_FEATURE_FXSR], 1
> jnz NoFpuStateSave
> stmxcsr [eax+FIBER_CONTEXT_DR6]
>
> @@ -103,7 +99,7 @@
> ControlWordEqual:
>
> /* Load the new one */
> - cmp byte ptr ds:[PROCESSOR_FEATURE_FXSR], 0
> + cmp byte ptr ds:[PROCESSOR_FEATURE_FXSR], 1
> jnz NoFpuStateRestore
> ldmxcsr [ecx+FIBER_CONTEXT_DR6]
>
> @@ -121,7 +117,8 @@
> mov [edx+TEB_FLS_DATA], eax
>
> /* Jump to new fiber */
> - jmp dword ptr [ecx+FIBER_CONTEXT_EIP]
> + mov esp, [ecx+FIBER_CONTEXT_ESP]
> + ret 4
> +END
>
> -END
> /* EOF */
>
>
>
Am 23.07.2011 14:05, schrieb ion(a)svn.reactos.org:
> Author: ion
> Date: Sat Jul 23 12:05:38 2011
> New Revision: 52806
>
> URL: http://svn.reactos.org/svn/reactos?rev=52806&view=rev
> Log:
> [KERNEL32]: Implement BaseFiberStartup in ASM, just like the thread/process thunks, so we get a "naked" thunk without any compiler-generated crap.
I don't see the point in this change.
That "crap" is setting up a stack frame, which is pretty useful for
debugging. It consists of 3 instructions:
push ebp
mov ebp, esp
sub esp, 8
Your change also broke compilation with MSVC (the END directive is only
at the end of the file!) and deleted the function for amd64.
The function is not performance critical and the asm code doesn't really
add any performace gain anyway.
So why are we going back?
I'm asking, because I've been working on converting more asm code to C
code and IMO thats the way to go.
Regards,
Timo
Am 07.07.2011 21:19, schrieb dgorbachev(a)svn.reactos.org:
> Author: dgorbachev
> Date: Thu Jul 7 19:19:44 2011
> New Revision: 52557
>
> URL: http://svn.reactos.org/svn/reactos?rev=52557&view=rev
> Log:
> [FREELDR]
> - Move read-only data into data section (allows to boot with GRUB again).
> - Discard .drectve sections.
> - Silence "set but not used" warnings.
I assume this is for rbuild. Did you check cmake builds, too?
-----Original Message-----
From: ion(a)svn.reactos.org
Sent: Sunday, July 10, 2011 6:14 AM
To: ros-diffs(a)reactos.org
Subject: [ros-diffs] [ion] 52596: [NTDLL]: More attempts at fixing up the
loader, this time in the PE side of things.
Author: ion
Date: Sun Jul 10 02:14:29 2011
New Revision: 52596
/* Check if we got at least one */
- if (BoundEntry || ImportEntry)
+ if ((BoundEntry) || (ImportEntry))
Could you enlighten me why do you add these redunandant braces?
WBR,
Aleksey.
June Meeting Minutes
2011-06-28
19:05 UTC
Fezile IRC Server, #meeting
Participants
=============
- Jan_Blomqvist_Kinander
- Igor_Paliychuk
- MfldElton
- Usurp
- Aleksey_Bragin
- Thomas_Faber
- Giannis_Adamopoulos
- Thomas_Faber
- Johannes_Anderwald
- Timo_Kreuzer
- Olaf_Siejka
- Jerome_Gardou
- Gabriel_Ilardi
- Andrew_Green
- Javier_Fernandez
- Victor_Martinez
- Amine_Khaldi
- Claudiu_Mihail
- Colin_Finck
- Rafal_Harabien
- Sylvain_Petreolle
- Matthias_Kupfer
- Danny_Goette
- Maciej_Bialas
- Ged_Murphy
- Ziliang_Guo
- Art_Yerkes
- Cameron_Gutman
- Neeraj_Yadav
- Herve_Poussineau
- Daniel_Reimer
- James_Tabor
- Olaf_Siejka
- Samuel_Serapion
- Pierre_Schweitzer
- Alex_Ionescu
- Gabriel_Ilardi
Proceedings
============
○ Meeting called to order at 19:05 UTC by Aleksey Bragin.
○ ReactOS Project coordinator Aleksey Bragin listed the points of the proposed agenda for June meeting:
1. Cmake switching
2. Next ReactOS release
3. Website revamp status
4. GSoC status
5. Developers status reports
The Minute Taker rol was given to Victor_Martinez for this meeting.
○ Point 1: CMake switching
--------------------------------------------
■ The ReactOS developer Timo gave a quick sum up about CMake status:
He reported that the CMake build is more or less ready, currently missing rosapps. He stated that rosapps are not a major problem as they're rarely used, and cmake files for them can be done if needed.
He also mentioned a problem, confirmed by Igor_Paliychuk, related to booting in real hardware, in addition to the winmm:mci regression.
The problem detected in real hardware is very specific to the hardware combination thus hard to test.
■ Amine mentioned that several comparative tests have been done through buildbot/testman between the rbuild build and the CMake build, showing no measurable differences. He also stated that the CMake port shouldn't be considered done yet, as it still lacks many planned features.
He highlighted some of the CMake patches,made by Jerome, to be sent upstream, like the PCH support and its related dependency tracking, and also the benefits of using CMake to compile ros, like the improved performance, the small disk space needed for builds (half of what the rbuild builds require) and the cool new kdbg features.Gabriel_Ilardi expressed his concers about merging more code in the current trunk situation. Timo replied that no code merge is needed,in case of switching to Cmake.
■ Timo, Colin and Aleksey asked about measuring the CMake build performance over the rbuild build in numbers. Jerome performed a quick benchmark:
First test: makex ntoskrnl (all clean, toold already built). Cmake: 04:06 , Rbuild: 04:55 (17% faster)
Second test: rebuild (only dependencies check). Cmake: 0:28 , Rbuild: 1:04 (56% faster)
The benchmark shows Cmake is faster not only for a full compilation but also recompiling (ntoskrnl) modules.
■ The ReactOS Cmake Team suggested to begin using Cmake with current RosBE to compile ReactOS ISOs in order to assure they are as good as Rbuild’s.
A "How to compile with Cmake" tutorial can be found in the following wikipage: http://reactos.org/wiki/Cmake
Summing up, the Cmake switch will bring better dependency checking, fast rebuild of single modules and much better symbols support in kdbg according to the ReactOS Cmake Team
The technical description was left to be discussed in #reactos-dev, if anyone was interested.
○ Point 2 : Next ReactOS release
--------------------------------------------------------
¦ReactOS release was the 2nd point of the June meeting agenda.
■ Gabriel_Ilardi and Victor_Martinez were asked to report current trunk state from Compatibility/Stability point of view.
Accordingly to forum threads, Bugzilla new entries, and Own testing,Gabriel and Victor said important regressions have been introduced due the latest changes, and mainly the LDR rewrite.
Wrong icons, impossibility to shutdown, AC97 hang, several installers/apps failing are some of those important regressions.
■ Art_Yerkes has been giving a look at the AC97 bug, he was able to gather a lot of information about the regression and asks for collaboration to fix it.
■ Aleksey_Bragin, as the author of the LDR rewrite, stated that he knew the new LDR could introduce regressions but that it is a big step forward.
The top priority is fixing those LDR regressions, instead of reverting, as the old LDR was indeed worse.
Aleksey remarks that he needs every dev to take a look at the LDR bugs and try to fix them.
The LDR regressions should be really easy to fix thanks to the rewrite, he said.
■ Amine_Khaldi suggested to decide when it is time to release performing bugfixing and full regression testing.
■ The idea of performing full regression tests now was inmediatly rejected by Colin_Finck and Olaf_Siejka since bug reports are currently showing that our trunk is in a really bad shape. Due to this, the Release discussion will be on hold until the next meeting.
During this month ReactOS devs are suggested to focus in bugfixing mainly the LDR code.
As these bugs are critical and able to hide other minors regressions, a special call is being made:
****************Special Call****************
"Please pick a bug from the linked ones in http://reactos.org/bugzilla/show_bug.cgi?id=6346 "
****************Special Call****************
○ Point 3 : Website Revamp Status
-------------------------------------------------------
¦ Thanks to Colin's help, a new playground with correct permissions and tied to an SVN branch has been created.
■ Niski and aross, main webrevamp developers, have been focused on Bugzilla and Mediawiki integration, compatdb drupal port, and forum.
Forum will have new features as "the best answer" and "karma" modules which will improve forum users experience.
■ Niski has completed the work on Bugzilla and Mediawiki while aross is working on compatdb and the new forum.
■ Right now, Amine said, a design/layout work is needed in parallel.
■ Colin_Finck stated that finding a designer among ReactOS developers is more difficult than findind a developer so he offered himself to help with the design/layout.
○ Point 4: Gsoc status
-------------------------------------------------------------------
■ AndrewGreen is currently cleaning a mixture of explorer_new, atl com and browseui code. The resultant code will be commited afterwards.
Although he recognizes his project is behind schedule, after apologizing he says he’s confident to meet the goals by midsemester evaluation.
Ged_Murphy cpp shell32 code will allow him to use atl com for everything shell related.
Colin_Finck and Olaf_Siejka discussed the best way to test the new implementation to check for any possible regressions, due to the fact that Ged was not around the discussion was postponed.
Jerome_Gardou asked Andrew about the WINE Shell32 Gsoc project but accordingly to Olaf, Wine has refused to cooperate regarding those.
Status: Behind Schedule.
■ Giannis_Adamopoulos was too busy with exams so his project was parked a little. His commits will raise up when the last exam is done.
Status: On time
■ Claudiu_Mihail thanked the great help of Cameron_Gutman and Art_Yerkes. The project is set to meet the deadlines for midterm.
There are still two problems remaining: browsers don't work(it will be solved by midterms), slowness of the lwIP implementation.
He has followed the test approach using several simple test apps and fixing revealed bugs.
After finishing his thesis project, which is highly related to his Gsoc project,he will start commiting again.
■ Neeraj_Yadav has divided his sound project in 5 parts.
1.[Finished] Writing a skeleton server which can hold the audio converter modules and the mixer modules ...This server should be capable of insertion in the reactos audio chain [4 weeks]
2.[Now] Writing mixer modules [2 weeks]
3.Writing audio converter [ 4 weeks]
4.Inserting this audio server in the reactos audio chain [1 week]
5.testing/styling/documentation [1 week]
He expects to finish the 2nd step in midterm evaluation.
Alex_Ionescu and Giannis_Adamopoulos asked for a way to test Neeraj code.
If anyone is interested, this is the best way:
1)make audsrv && make audclient
2)run audsrv -n in one console
3)run audclient in other
4)open as many audclients as you want
5)the server should play a mixed sound
Status: On time
■ Thomas_Faber is finishing the main framework needed to run the tests. Most of the old tests have been ported and now he is currently working on getting special-purpose drivers and usermode test parts up and running.
Lately he has been quite busy with a university project but he expects to commit the framework in these days.
Status: On time
■ Timo_Kreuzer has finished the font driver loading and now he is working on the font mapper, which is complex and needs a good design.
Status: Ahead of time
○ Point 5: Developers status reports
-------------------------------------------------------------------
■ Alex_Ionescu will help Aleksey commit his scater/gather DMA patch.
■ Alex_Bragin is working on remaining LDR code and afterwards he'll take part in processing bugzilla patches.
■ Amine_Khaldi is focused in cmake and the website revamp.
■ Art_Yerkes made some improvements to symbol handling in the cmake branch and now he’s working with Claudiu.
■ Colin_Finck has been trying the KDUSBCOM idea (KD DLL for debugging over an USB-to-Serial adapter), and he’s moving now to help with the website layout.
■ Daniel_Reimer is playing with Gcc builds and updating RosBE.He added Cmake support a while ago and he is still battling with GCC 4.6 and Wine RC files.
■ Gabriel_Ilardi is focused in mantaining Bugzilla and the forum and he’s performing some testing in his few spare time.
■ Ged_Murphy is helping with shell32 c++ fixup
■ Herve_Poussineau is currently inactive on ReactOS
■ James_Tabor is still working on bug report issues.
■ Jan_Blomqvist_Kinander will move the Fezile server to the concrete bunker creating a LAN behind Fezile to get automated tests on real hardware.
■ Johannes Anderwald will work in HID (Human Interface Devices for USB) support during the summer, a hard task as it is completly undocumented.
■ Maciej_Bialas is working on mediawiki integration for the new revamped site.
■ Matthias_Kupfer has been bugfixing and commiting some patches.
■ Pierre_Schweitzer has no time nor willingness right now. Once time will be back,he'll invest it in his summer student.Once willingness will be back, he'll keep on his current ReactOS work and help with the ReactOS infrastructure
■ Olaf_Siejka is waiting for Aleksey to finish the LDR code so he can team up with him to solve the remaining issues of sysreg4. After finishing the utf-8 resource conversion, he will get more involved in testing. He will also help with the hardware testbot from the buildbot side.
■ Sylvain_Petreolle is working on French translations.
■ Timo_Kreuzer is working on MSVC builds fixing several bugs that prevent ReactOS to reach the desktop.
■ Victor_Martinez has finished his exams recently and now he’s preparing a forum team to test the revision before the LDR rewrite and the one after it, this way it'll be easier to find regressions. Also he will help with the revamp webpage.
○ Point 6: Suggestions
---------------------------
■ Jan_Blomqvist_Kinander suggested to create a ReactOS annual bootcamp with devs, testers and fanatics plus having a look at SAMBA 4 - ROS port
○ Meeting closed at 22:08 UTC by Colin Finck on behalf of Aleksey Bragin.
○ Minutes written by Víctor Martínez.
○ Reviewed by Amine_Khaldi, and Gabriel_Ilardi
Hi!
Sadly the hosting that I was providing for free will be suspended in the next 24 hours. I was totally fed up with these iPage guys so decided to move everything out.
The website and all the content in the folders will be removed. I will keep the myreactos.com domain for a year or maybe I will remove it too.If anyone is interested please contact me.
If anyone is still using the hosting, please back your files up.
WBR,
Víctor Martínez
That was there on purpose really, because the error had to be ignored. I
will get back to this tomorrow to review, so just "marking" this revision
that way.
WBR,
Aleksey.
-----Original Message-----
From: cgutman(a)svn.reactos.org
Sent: Monday, July 04, 2011 12:16 AM
To: ros-diffs(a)reactos.org
Subject: [ros-diffs] [cgutman] 52522: [LDR] - "Just to be sure" is no reason
to overwrite a potential DLL load failure status
Author: cgutman
Date: Sun Jul 3 20:16:12 2011
New Revision: 52522
URL: http://svn.reactos.org/svn/reactos?rev=52522&view=rev
Log:
[LDR]
- "Just to be sure" is no reason to overwrite a potential DLL load failure
status
Modified:
trunk/reactos/dll/ntdll/ldr/ldrapi.c
Modified: trunk/reactos/dll/ntdll/ldr/ldrapi.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/ntdll/ldr/ldrapi.c?rev…
==============================================================================
--- trunk/reactos/dll/ntdll/ldr/ldrapi.c [iso-8859-1] (original)
+++ trunk/reactos/dll/ntdll/ldr/ldrapi.c [iso-8859-1] Sun Jul 3 20:16:12
2011
@@ -345,9 +345,6 @@
DllName,
BaseAddress,
TRUE);
-
- /* Set it to success just to be sure */
- Status = STATUS_SUCCESS;
/* Restore the old TLD DLL */
LdrpTopLevelDllBeingLoaded = OldTldDll;
Why do you have to be this way? I gave you a link to 3 PDFs and our
own Wiki that explain these functions. Did you even read them?
Don't be an asshole just for fun.
Best regards,
Alex Ionescu
On Sun, Jul 3, 2011 at 1:11 AM, <tkreuzer(a)svn.reactos.org> wrote:
> Author: tkreuzer
> Date: Sat Jul 2 23:11:06 2011
> New Revision: 52507
>
> URL: http://svn.reactos.org/svn/reactos?rev=52507&view=rev
> Log:
> [NTOSKNRL]
> - Change an ASSERT to a KeBugCheck, since the assertion can fail for any invalid memory access and this is not an internal Mm failure.
> - Remove 2 cases, that "Should NEVER happen on ARM3!!!", but can very well happen.
> - Do NOT make the code cleaner, by releasing the PFN lock in the same function that acquires it, but keep it 2 functions down. This is because it *SHOULD* be that way, since some internal undocumented functions, that we do not implement but that are (theoretically) called from here, also do release the PFN lock. Thanks Alex for explaining this.
>
> Modified:
> trunk/reactos/ntoskrnl/mm/ARM3/pagfault.c
>
> Modified: trunk/reactos/ntoskrnl/mm/ARM3/pagfault.c
> URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/mm/ARM3/pagfault.…
> ==============================================================================
> --- trunk/reactos/ntoskrnl/mm/ARM3/pagfault.c [iso-8859-1] (original)
> +++ trunk/reactos/ntoskrnl/mm/ARM3/pagfault.c [iso-8859-1] Sat Jul 2 23:11:06 2011
> @@ -583,10 +583,19 @@
> }
>
> //
> - // The PTE must be invalid, but not totally blank
> + // The PTE must be invalid
> //
> ASSERT(TempPte.u.Hard.Valid == 0);
> - ASSERT(TempPte.u.Long != 0);
> +
> + /* Check if the PTE is completely empty */
> + if (TempPte.u.Long == 0)
> + {
> + KeBugCheckEx(PAGE_FAULT_IN_NONPAGED_AREA,
> + (ULONG_PTR)Address,
> + StoreInstruction,
> + (ULONG_PTR)TrapInformation,
> + 2);
> + }
>
> //
> // No prototype, transition or page file software PTEs in ARM3 yet
> @@ -727,11 +736,6 @@
> // Writing to a read-only page (the stuff ARM3 works with is write,
> // so again, moot point).
> //
> - if (StoreInstruction)
> - {
> - DPRINT1("Should NEVER happen on ARM3!!!\n");
> - return STATUS_ACCESS_VIOLATION;
> - }
>
> //
> // Otherwise, the PDE was probably invalid, and all is good now
> @@ -776,11 +780,6 @@
> // Writing to a read-only page (the stuff ARM3 works with is write,
> // so again, moot point.
> //
> - if (StoreInstruction)
> - {
> - DPRINT1("Should NEVER happen on ARM3!!!\n");
> - return STATUS_ACCESS_VIOLATION;
> - }
>
> /* Release the working set */
> MiUnlockWorkingSet(CurrentThread, WorkingSet);
>
>
>