ReactOS.org
Sign In
Sign Up
Sign In
Sign Up
Manage this list
×
Keyboard Shortcuts
Thread View
j
: Next unread message
k
: Previous unread message
j a
: Jump to all threads
j l
: Jump to MailingList overview
2024
December
November
October
September
August
July
June
May
April
March
February
January
2023
December
November
October
September
August
July
June
May
April
March
February
January
2022
December
November
October
September
August
July
June
May
April
March
February
January
2021
December
November
October
September
August
July
June
May
April
March
February
January
2020
December
November
October
September
August
July
June
May
April
March
February
January
2019
December
November
October
September
August
July
June
May
April
March
February
January
2018
December
November
October
September
August
July
June
May
April
March
February
January
2017
December
November
October
September
August
July
June
May
April
March
February
January
2016
December
November
October
September
August
July
June
May
April
March
February
January
2015
December
November
October
September
August
July
June
May
April
March
February
January
2014
December
November
October
September
August
July
June
May
April
March
February
January
2013
December
November
October
September
August
July
June
May
April
March
February
January
2012
December
November
October
September
August
July
June
May
April
March
February
January
2011
December
November
October
September
August
July
June
May
April
March
February
January
2010
December
November
October
September
August
July
June
May
April
March
February
January
2009
December
November
October
September
August
July
June
May
April
March
February
January
2008
December
November
October
September
August
July
June
May
April
March
February
January
2007
December
November
October
September
August
July
June
May
April
March
February
January
2006
December
November
October
September
August
July
June
May
April
March
February
January
2005
December
November
October
September
August
July
June
May
April
March
February
January
2004
December
November
October
September
August
July
June
May
April
March
February
List overview
Download
Ros-diffs
March 2011
----- 2024 -----
December 2024
November 2024
October 2024
September 2024
August 2024
July 2024
June 2024
May 2024
April 2024
March 2024
February 2024
January 2024
----- 2023 -----
December 2023
November 2023
October 2023
September 2023
August 2023
July 2023
June 2023
May 2023
April 2023
March 2023
February 2023
January 2023
----- 2022 -----
December 2022
November 2022
October 2022
September 2022
August 2022
July 2022
June 2022
May 2022
April 2022
March 2022
February 2022
January 2022
----- 2021 -----
December 2021
November 2021
October 2021
September 2021
August 2021
July 2021
June 2021
May 2021
April 2021
March 2021
February 2021
January 2021
----- 2020 -----
December 2020
November 2020
October 2020
September 2020
August 2020
July 2020
June 2020
May 2020
April 2020
March 2020
February 2020
January 2020
----- 2019 -----
December 2019
November 2019
October 2019
September 2019
August 2019
July 2019
June 2019
May 2019
April 2019
March 2019
February 2019
January 2019
----- 2018 -----
December 2018
November 2018
October 2018
September 2018
August 2018
July 2018
June 2018
May 2018
April 2018
March 2018
February 2018
January 2018
----- 2017 -----
December 2017
November 2017
October 2017
September 2017
August 2017
July 2017
June 2017
May 2017
April 2017
March 2017
February 2017
January 2017
----- 2016 -----
December 2016
November 2016
October 2016
September 2016
August 2016
July 2016
June 2016
May 2016
April 2016
March 2016
February 2016
January 2016
----- 2015 -----
December 2015
November 2015
October 2015
September 2015
August 2015
July 2015
June 2015
May 2015
April 2015
March 2015
February 2015
January 2015
----- 2014 -----
December 2014
November 2014
October 2014
September 2014
August 2014
July 2014
June 2014
May 2014
April 2014
March 2014
February 2014
January 2014
----- 2013 -----
December 2013
November 2013
October 2013
September 2013
August 2013
July 2013
June 2013
May 2013
April 2013
March 2013
February 2013
January 2013
----- 2012 -----
December 2012
November 2012
October 2012
September 2012
August 2012
July 2012
June 2012
May 2012
April 2012
March 2012
February 2012
January 2012
----- 2011 -----
December 2011
November 2011
October 2011
September 2011
August 2011
July 2011
June 2011
May 2011
April 2011
March 2011
February 2011
January 2011
----- 2010 -----
December 2010
November 2010
October 2010
September 2010
August 2010
July 2010
June 2010
May 2010
April 2010
March 2010
February 2010
January 2010
----- 2009 -----
December 2009
November 2009
October 2009
September 2009
August 2009
July 2009
June 2009
May 2009
April 2009
March 2009
February 2009
January 2009
----- 2008 -----
December 2008
November 2008
October 2008
September 2008
August 2008
July 2008
June 2008
May 2008
April 2008
March 2008
February 2008
January 2008
----- 2007 -----
December 2007
November 2007
October 2007
September 2007
August 2007
July 2007
June 2007
May 2007
April 2007
March 2007
February 2007
January 2007
----- 2006 -----
December 2006
November 2006
October 2006
September 2006
August 2006
July 2006
June 2006
May 2006
April 2006
March 2006
February 2006
January 2006
----- 2005 -----
December 2005
November 2005
October 2005
September 2005
August 2005
July 2005
June 2005
May 2005
April 2005
March 2005
February 2005
January 2005
----- 2004 -----
December 2004
November 2004
October 2004
September 2004
August 2004
July 2004
June 2004
May 2004
April 2004
March 2004
February 2004
ros-diffs@reactos.org
21 participants
276 discussions
Start a n
N
ew thread
[fireball] 51056: [NTDLL/LDR] - Rewrite loader lock APIs. Now they support proper flags, return correct error codes and generate/check a cookie.
by fireball@svn.reactos.org
Author: fireball Date: Tue Mar 15 18:56:17 2011 New Revision: 51056 URL:
http://svn.reactos.org/svn/reactos?rev=51056&view=rev
Log: [NTDLL/LDR] - Rewrite loader lock APIs. Now they support proper flags, return correct error codes and generate/check a cookie. Added: trunk/reactos/dll/ntdll/ldr/ldrapi.c (with props) Modified: trunk/reactos/dll/ntdll/include/ntdllp.h trunk/reactos/dll/ntdll/ldr/ldrinit.c trunk/reactos/dll/ntdll/ldr/startup.c trunk/reactos/dll/ntdll/ldr/utils.c trunk/reactos/dll/ntdll/ntdll.rbuild Modified: trunk/reactos/dll/ntdll/include/ntdllp.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/ntdll/include/ntdllp.h…
============================================================================== --- trunk/reactos/dll/ntdll/include/ntdllp.h [iso-8859-1] (original) +++ trunk/reactos/dll/ntdll/include/ntdllp.h [iso-8859-1] Tue Mar 15 18:56:17 2011 @@ -21,6 +21,8 @@ ULONG ul_reason_for_call, LPVOID lpReserved); +/* Global data */ +extern RTL_CRITICAL_SECTION LdrpLoaderLock; /* ldrinit.c */ NTSTATUS NTAPI LdrpInitializeTls(VOID); Added: 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 (added) +++ trunk/reactos/dll/ntdll/ldr/ldrapi.c [iso-8859-1] Tue Mar 15 18:56:17 2011 @@ -1,0 +1,249 @@ +/* + * COPYRIGHT: See COPYING in the top level directory + * PROJECT: ReactOS NT User Mode Library + * FILE: dll/ntdll/ldr/ldrapi.c + * PURPOSE: PE Loader Public APIs + * PROGRAMMERS: Alex Ionescu (alex(a)relsoft.net) + * Aleksey Bragin (aleksey(a)reactos.org) + */ + +/* INCLUDES *****************************************************************/ + +#include <ntdll.h> +#define NDEBUG +#include <debug.h> + +/* GLOBALS *******************************************************************/ + +#define LDR_LOCK_HELD 0x2 +#define LDR_LOCK_FREE 0x1 + +LONG LdrpLoaderLockAcquisitonCount; + +/* FUNCTIONS *****************************************************************/ + +/* + * @implemented + */ +NTSTATUS +NTAPI +LdrUnlockLoaderLock(IN ULONG Flags, + IN ULONG Cookie OPTIONAL) +{ + NTSTATUS Status = STATUS_SUCCESS; + + DPRINT("LdrUnlockLoaderLock(%x %x)\n", Flags, Cookie); + + /* Check for valid flags */ + if (Flags & ~1) + { + /* Flags are invalid, check how to fail */ + if (Flags & LDR_LOCK_LOADER_LOCK_FLAG_RAISE_STATUS) + { + /* The caller wants us to raise status */ + RtlRaiseStatus(STATUS_INVALID_PARAMETER_1); + } + else + { + /* A normal failure */ + return STATUS_INVALID_PARAMETER_1; + } + } + + /* If we don't have a cookie, just return */ + if (!Cookie) return STATUS_SUCCESS; + + /* Validate the cookie */ + if ((Cookie & 0xF0000000) || + ((Cookie >> 16) ^ ((ULONG)(NtCurrentTeb()->RealClientId.UniqueThread) & 0xFFF))) + { + DPRINT1("LdrUnlockLoaderLock() called with an invalid cookie!\n"); + + /* Invalid cookie, check how to fail */ + if (Flags & LDR_LOCK_LOADER_LOCK_FLAG_RAISE_STATUS) + { + /* The caller wants us to raise status */ + RtlRaiseStatus(STATUS_INVALID_PARAMETER_2); + } + else + { + /* A normal failure */ + return STATUS_INVALID_PARAMETER_2; + } + } + + /* Ready to release the lock */ + if (Flags & LDR_LOCK_LOADER_LOCK_FLAG_RAISE_STATUS) + { + /* Do a direct leave */ + RtlLeaveCriticalSection(&LdrpLoaderLock); + } + else + { + /* Wrap this in SEH, since we're not supposed to raise */ + _SEH2_TRY + { + /* Leave the lock */ + RtlLeaveCriticalSection(&LdrpLoaderLock); + } + _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER) + { + /* We should use the LDR Filter instead */ + Status = _SEH2_GetExceptionCode(); + } + _SEH2_END; + } + + /* All done */ + return Status; +} + +/* + * @implemented + */ +NTSTATUS +NTAPI +LdrLockLoaderLock(IN ULONG Flags, + OUT PULONG Result OPTIONAL, + OUT PULONG Cookie OPTIONAL) +{ + LONG OldCount; + NTSTATUS Status = STATUS_SUCCESS; + BOOLEAN InInit = FALSE; // FIXME + //BOOLEAN InInit = LdrpInLdrInit; + + DPRINT("LdrLockLoaderLock(%x %p %p)\n", Flags, Result, Cookie); + + /* Zero out the outputs */ + if (Result) *Result = 0; + if (Cookie) *Cookie = 0; + + /* Validate the flags */ + if (Flags & ~(LDR_LOCK_LOADER_LOCK_FLAG_RAISE_STATUS | + LDR_LOCK_LOADER_LOCK_FLAG_TRY_ONLY)) + { + /* Flags are invalid, check how to fail */ + if (Flags & LDR_LOCK_LOADER_LOCK_FLAG_RAISE_STATUS) + { + /* The caller wants us to raise status */ + RtlRaiseStatus(STATUS_INVALID_PARAMETER_1); + } + + /* A normal failure */ + return STATUS_INVALID_PARAMETER_1; + } + + /* Make sure we got a cookie */ + if (!Cookie) + { + /* No cookie check how to fail */ + if (Flags & LDR_LOCK_LOADER_LOCK_FLAG_RAISE_STATUS) + { + /* The caller wants us to raise status */ + RtlRaiseStatus(STATUS_INVALID_PARAMETER_3); + } + + /* A normal failure */ + return STATUS_INVALID_PARAMETER_3; + } + + /* If the flag is set, make sure we have a valid pointer to use */ + if ((Flags & LDR_LOCK_LOADER_LOCK_FLAG_TRY_ONLY) && !(Result)) + { + /* No pointer to return the data to */ + if (Flags & LDR_LOCK_LOADER_LOCK_FLAG_RAISE_STATUS) + { + /* The caller wants us to raise status */ + RtlRaiseStatus(STATUS_INVALID_PARAMETER_2); + } + + /* Fail */ + return STATUS_INVALID_PARAMETER_2; + } + + /* Return now if we are in the init phase */ + if (InInit) return STATUS_SUCCESS; + + /* Check what locking semantic to use */ + if (Flags & LDR_LOCK_LOADER_LOCK_FLAG_RAISE_STATUS) + { + /* Check if we should enter or simply try */ + if (Flags & LDR_LOCK_LOADER_LOCK_FLAG_TRY_ONLY) + { + /* Do a try */ + if (!RtlTryEnterCriticalSection(&LdrpLoaderLock)) + { + /* It's locked */ + *Result = LDR_LOCK_HELD; + goto Quickie; + } + else + { + /* It worked */ + *Result = LDR_LOCK_FREE; + } + } + else + { + /* Do a enter */ + RtlEnterCriticalSection(&LdrpLoaderLock); + + /* See if result was requested */ + if (Result) *Result = LDR_LOCK_FREE; + } + + /* Increase the acquisition count */ + OldCount = _InterlockedIncrement(&LdrpLoaderLockAcquisitonCount); + + /* Generate a cookie */ + *Cookie = (((ULONG)NtCurrentTeb()->RealClientId.UniqueThread & 0xFFF) << 16) | OldCount; + } + else + { + /* Wrap this in SEH, since we're not supposed to raise */ + _SEH2_TRY + { + /* Check if we should enter or simply try */ + if (Flags & LDR_LOCK_LOADER_LOCK_FLAG_TRY_ONLY) + { + /* Do a try */ + if (!RtlTryEnterCriticalSection(&LdrpLoaderLock)) + { + /* It's locked */ + *Result = LDR_LOCK_HELD; + _SEH2_YIELD(return STATUS_SUCCESS); + } + else + { + /* It worked */ + *Result = LDR_LOCK_FREE; + } + } + else + { + /* Do an enter */ + RtlEnterCriticalSection(&LdrpLoaderLock); + + /* See if result was requested */ + if (Result) *Result = LDR_LOCK_FREE; + } + + /* Increase the acquisition count */ + OldCount = _InterlockedIncrement(&LdrpLoaderLockAcquisitonCount); + + /* Generate a cookie */ + *Cookie = (((ULONG)NtCurrentTeb()->RealClientId.UniqueThread & 0xFFF) << 16) | OldCount; + } + _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER) + { + /* We should use the LDR Filter instead */ + Status = _SEH2_GetExceptionCode(); + } + _SEH2_END; + } + +Quickie: + return Status; +} + +/* EOF */ Propchange: trunk/reactos/dll/ntdll/ldr/ldrapi.c ------------------------------------------------------------------------------ svn:eol-style = native Modified: trunk/reactos/dll/ntdll/ldr/ldrinit.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/ntdll/ldr/ldrinit.c?re…
============================================================================== --- trunk/reactos/dll/ntdll/ldr/ldrinit.c [iso-8859-1] (original) +++ trunk/reactos/dll/ntdll/ldr/ldrinit.c [iso-8859-1] Tue Mar 15 18:56:17 2011 @@ -28,6 +28,8 @@ ULONG LdrpNumberOfTlsEntries; ULONG LdrpNumberOfProcessors; +RTL_CRITICAL_SECTION LdrpLoaderLock; + BOOLEAN ShowSnaps; /* FUNCTIONS *****************************************************************/ Modified: trunk/reactos/dll/ntdll/ldr/startup.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/ntdll/ldr/startup.c?re…
============================================================================== --- trunk/reactos/dll/ntdll/ldr/startup.c [iso-8859-1] (original) +++ trunk/reactos/dll/ntdll/ldr/startup.c [iso-8859-1] Tue Mar 15 18:56:17 2011 @@ -25,7 +25,6 @@ PLDR_DATA_TABLE_ENTRY ExeModule; static RTL_CRITICAL_SECTION PebLock; -static RTL_CRITICAL_SECTION LoaderLock; static RTL_BITMAP TlsBitMap; static RTL_BITMAP TlsExpansionBitMap; static volatile BOOLEAN LdrpInitialized = FALSE; @@ -467,8 +466,8 @@ } /* initalize loader lock */ - RtlInitializeCriticalSection(&LoaderLock); - Peb->LoaderLock = &LoaderLock; + RtlInitializeCriticalSection(&LdrpLoaderLock); + Peb->LoaderLock = &LdrpLoaderLock; /* create loader information */ Peb->Ldr = (PPEB_LDR_DATA) RtlAllocateHeap(Peb->ProcessHeap, Modified: trunk/reactos/dll/ntdll/ldr/utils.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/ntdll/ldr/utils.c?rev=…
============================================================================== --- trunk/reactos/dll/ntdll/ldr/utils.c [iso-8859-1] (original) +++ trunk/reactos/dll/ntdll/ldr/utils.c [iso-8859-1] Tue Mar 15 18:56:17 2011 @@ -3154,79 +3154,6 @@ return LdrProcessRelocationBlockLongLong(Address, Count, TypeOffset, Delta); } -NTSTATUS -NTAPI -LdrLockLoaderLock(IN ULONG Flags, - OUT PULONG Disposition OPTIONAL, - OUT PULONG Cookie OPTIONAL) -{ - NTSTATUS Status; - BOOLEAN Ret; - BOOLEAN CookieSet = FALSE; - - if ((Flags != 0x01) && (Flags != 0x02)) - return STATUS_INVALID_PARAMETER_1; - - if (!Cookie) return STATUS_INVALID_PARAMETER_3; - - /* Set some defaults for failure while verifying params */ - _SEH2_TRY - { - *Cookie = 0; - CookieSet = TRUE; - if (Disposition) *Disposition = 0; - } - _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER) - { - if (CookieSet) - Status = STATUS_INVALID_PARAMETER_3; - else - Status = STATUS_INVALID_PARAMETER_2; - } - _SEH2_END; - - if (Flags == 0x01) - { - DPRINT1("Warning: Reporting errors with exception not supported yet!\n"); - RtlEnterCriticalSection(NtCurrentPeb()->LoaderLock); - Status = STATUS_SUCCESS; - - } - else - { - if (!Disposition) return STATUS_INVALID_PARAMETER_2; - - Ret = RtlTryEnterCriticalSection(NtCurrentPeb()->LoaderLock); - - if (Ret) - *Disposition = 0x01; - else - *Disposition = 0x02; - - Status = STATUS_SUCCESS; - } - - /* FIXME: Cookie is based on part of the thread id */ - *Cookie = (ULONG)NtCurrentTeb()->RealClientId.UniqueThread; - return Status; -} - -NTSTATUS -NTAPI -LdrUnlockLoaderLock(IN ULONG Flags, - IN ULONG Cookie OPTIONAL) -{ - if (Flags != 0x01) - return STATUS_INVALID_PARAMETER_1; - - if (Cookie != (ULONG)NtCurrentTeb()->RealClientId.UniqueThread) - return STATUS_INVALID_PARAMETER_2; - - RtlLeaveCriticalSection(NtCurrentPeb()->LoaderLock); - - return STATUS_SUCCESS; -} - BOOLEAN NTAPI LdrUnloadAlternateResourceModule(IN PVOID BaseAddress) Modified: trunk/reactos/dll/ntdll/ntdll.rbuild URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/ntdll/ntdll.rbuild?rev…
============================================================================== --- trunk/reactos/dll/ntdll/ntdll.rbuild [iso-8859-1] (original) +++ trunk/reactos/dll/ntdll/ntdll.rbuild [iso-8859-1] Tue Mar 15 18:56:17 2011 @@ -47,6 +47,7 @@ <pch>ntdll.h</pch> </directory> <directory name="ldr"> + <file>ldrapi.c</file> <file>ldrinit.c</file> <file>ldrutils.c</file> <file>startup.c</file>
13 years, 9 months
1
0
0
0
[fireball] 51055: [SETUP] - Mario Kacmar: Added 'VBR only' as possible option to the reactos.exe - it is necessary to add it to other languages (I would not mess up codepages). See issue #5734 for ...
by fireball@svn.reactos.org
Author: fireball Date: Tue Mar 15 18:50:31 2011 New Revision: 51055 URL:
http://svn.reactos.org/svn/reactos?rev=51055&view=rev
Log: [SETUP] - Mario Kacmar: Added 'VBR only' as possible option to the reactos.exe - it is necessary to add it to other languages (I would not mess up codepages). See issue #5734 for more details. Modified: trunk/reactos/base/setup/reactos/lang/cs-CZ.rc trunk/reactos/base/setup/reactos/lang/de-DE.rc trunk/reactos/base/setup/reactos/lang/en-US.rc trunk/reactos/base/setup/reactos/lang/fr-FR.rc trunk/reactos/base/setup/reactos/lang/sk-SK.rc trunk/reactos/base/setup/reactos/resource.h Modified: trunk/reactos/base/setup/reactos/lang/cs-CZ.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/setup/reactos/lang/cs…
============================================================================== --- trunk/reactos/base/setup/reactos/lang/cs-CZ.rc [iso-8859-1] (original) +++ trunk/reactos/base/setup/reactos/lang/cs-CZ.rc [iso-8859-1] Tue Mar 15 18:50:31 2011 @@ -91,8 +91,9 @@ CONTROL "Boot loader installation", IDC_STATIC, "Button", BS_GROUPBOX, 4,36,298,41 - CONTROL "Install boot loader on the hard disk (MBR)", IDC_INSTFREELDR, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 10,46,278,11 - CONTROL "No installation of bootloader", IDC_NOINSTFREELDR, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP | WS_DISABLED , 10,57,278,11 + CONTROL "Install boot loader on the hard disk (MBR and VBR)", IDC_INSTFREELDR, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 10,46,278,11 + CONTROL "Install boot loader on the hard disk (VBR only)", IDC_INSTVBRONLY, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 10,57,278,11 + CONTROL "No installation of bootloader", IDC_NOINSTFREELDR, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP | WS_DISABLED , 10,68,278,11 PUSHBUTTON "&OK", IDOK, 180,83,50,15, WS_TABSTOP | WS_VISIBLE PUSHBUTTON "&Cancel", IDCANCEL, 240,83,50,15, WS_TABSTOP | WS_VISIBLE END Modified: trunk/reactos/base/setup/reactos/lang/de-DE.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/setup/reactos/lang/de…
============================================================================== --- trunk/reactos/base/setup/reactos/lang/de-DE.rc [iso-8859-1] (original) +++ trunk/reactos/base/setup/reactos/lang/de-DE.rc [iso-8859-1] Tue Mar 15 18:50:31 2011 @@ -91,8 +91,9 @@ CONTROL "Bootloader-Installation", IDC_STATIC, "Button", BS_GROUPBOX, 4,36,298,41 - CONTROL "Installiere Bootloader auf Festplatte (MBR)", IDC_INSTFREELDR, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 10,46,278,11 - CONTROL "Keine Bootloader-Installation", IDC_NOINSTFREELDR, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP | WS_DISABLED , 10,57,278,11 + CONTROL "Installiere Bootloader auf Festplatte (MBR und VBR)", IDC_INSTFREELDR, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 10,46,278,11 + CONTROL "Installiere Bootloader auf Festplatte (VBR nur)", IDC_INSTVBRONLY, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 10,57,278,11 + CONTROL "Keine Bootloader-Installation", IDC_NOINSTFREELDR, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP | WS_DISABLED , 10,68,278,11 PUSHBUTTON "&OK", IDOK, 180,83,50,15, WS_TABSTOP | WS_VISIBLE PUSHBUTTON "&Abbrechen", IDCANCEL, 240,83,50,15, WS_TABSTOP | WS_VISIBLE END Modified: trunk/reactos/base/setup/reactos/lang/en-US.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/setup/reactos/lang/en…
============================================================================== --- trunk/reactos/base/setup/reactos/lang/en-US.rc [iso-8859-1] (original) +++ trunk/reactos/base/setup/reactos/lang/en-US.rc [iso-8859-1] Tue Mar 15 18:50:31 2011 @@ -91,8 +91,9 @@ CONTROL "Boot loader installation", IDC_STATIC, "Button", BS_GROUPBOX, 4,36,298,41 - CONTROL "Install boot loader on the hard disk (MBR)", IDC_INSTFREELDR, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 10,46,278,11 - CONTROL "No installation of bootloader", IDC_NOINSTFREELDR, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP | WS_DISABLED , 10,57,278,11 + CONTROL "Install boot loader on the hard disk (MBR and VBR)", IDC_INSTFREELDR, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 10,46,278,11 + CONTROL "Install boot loader on the hard disk (VBR only)", IDC_INSTVBRONLY, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 10,57,278,11 + CONTROL "No installation of bootloader", IDC_NOINSTFREELDR, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP | WS_DISABLED , 10,68,278,11 PUSHBUTTON "&OK", IDOK, 180,83,50,15, WS_TABSTOP | WS_VISIBLE PUSHBUTTON "&Cancel", IDCANCEL, 240,83,50,15, WS_TABSTOP | WS_VISIBLE END Modified: trunk/reactos/base/setup/reactos/lang/fr-FR.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/setup/reactos/lang/fr…
============================================================================== --- trunk/reactos/base/setup/reactos/lang/fr-FR.rc [iso-8859-1] (original) +++ trunk/reactos/base/setup/reactos/lang/fr-FR.rc [iso-8859-1] Tue Mar 15 18:50:31 2011 @@ -89,8 +89,9 @@ CONTROL "Boot loader installation", IDC_STATIC, "Button", BS_GROUPBOX, 4,36,298,41 - CONTROL "Install boot loader on the hard disk (MBR)", IDC_INSTFREELDR, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 10,46,278,11 - CONTROL "No installation of bootloader", IDC_NOINSTFREELDR, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP | WS_DISABLED , 10,57,278,11 + CONTROL "Install boot loader on the hard disk (MBR and VBR)", IDC_INSTFREELDR, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 10,46,278,11 + CONTROL "Install boot loader on the hard disk (VBR only)", IDC_INSTVBRONLY, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 10,57,278,11 + CONTROL "No installation of bootloader", IDC_NOINSTFREELDR, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP | WS_DISABLED , 10,68,278,11 PUSHBUTTON "&OK", IDOK, 180,83,50,15, WS_TABSTOP | WS_VISIBLE PUSHBUTTON "&Cancel", IDCANCEL, 240,83,50,15, WS_TABSTOP | WS_VISIBLE END Modified: trunk/reactos/base/setup/reactos/lang/sk-SK.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/setup/reactos/lang/sk…
============================================================================== --- trunk/reactos/base/setup/reactos/lang/sk-SK.rc [iso-8859-1] (original) +++ trunk/reactos/base/setup/reactos/lang/sk-SK.rc [iso-8859-1] Tue Mar 15 18:50:31 2011 @@ -1,6 +1,6 @@ /* TRANSLATOR : Mário Kaèmár /Mario Kacmar/ aka Kario (kario(a)szm.sk) * DATE OF TR.: xx-xx-2007 - * LAST UPDATE: 03-12-2008 + * LAST UPDATE: 02-11-2010 */ LANGUAGE LANG_SLOVAK, SUBLANG_DEFAULT @@ -94,8 +94,9 @@ CONTROL "Intalácia zavádzaèa systému", IDC_STATIC, "Button", BS_GROUPBOX, 4,36,298,41 - CONTROL "Naintalova zavádzaè systému na pevný disk (MBR)", IDC_INSTFREELDR, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 10,46,278,11 - CONTROL "Nenaintalova zavádzaè systému", IDC_NOINSTFREELDR, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP | WS_DISABLED , 10,57,278,11 + CONTROL "Naintalova zavádzaè systému na pevný disk (MBR a VBR)", IDC_INSTFREELDR, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 10,46,278,11 + CONTROL "Naintalova zavádzaè systému na pevný disk (iba VBR)", IDC_INSTVBRONLY, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 10,57,278,11 + CONTROL "Nenaintalova zavádzaè systému", IDC_NOINSTFREELDR, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP | WS_DISABLED , 10,68,278,11 PUSHBUTTON "&OK", IDOK, 180,83,50,15, WS_TABSTOP | WS_VISIBLE PUSHBUTTON "&Zrui", IDCANCEL, 240,83,50,15, WS_TABSTOP | WS_VISIBLE END Modified: trunk/reactos/base/setup/reactos/resource.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/setup/reactos/resourc…
============================================================================== --- trunk/reactos/base/setup/reactos/resource.h [iso-8859-1] (original) +++ trunk/reactos/base/setup/reactos/resource.h [iso-8859-1] Tue Mar 15 18:50:31 2011 @@ -31,32 +31,33 @@ #define IDC_PARTCREATE 2022 #define IDC_PARTDELETE 2023 #define IDC_INSTFREELDR 2024 -#define IDC_NOINSTFREELDR 2025 -#define IDC_PATH 2026 -#define IDD_PROCESSPAGE 2027 -#define IDS_PROCESSTITLE 2028 -#define IDS_PROCESSSUBTITLE 2029 -#define IDC_ACTIVITY 2030 -#define IDC_ITEM 2031 -#define IDC_PROCESSPROGRESS 2032 -#define IDD_RESTARTPAGE 2033 -#define IDS_RESTARTTITLE 2034 -#define IDS_RESTARTSUBTITLE 2035 -#define IDC_FINISHTITLE 2036 -#define IDC_RESTART_PROGRESS 2037 -#define IDS_ABORTSETUP 2038 -#define IDS_ABORTSETUP2 2039 -#define IDC_ACTION 2040 -#define IDC_PARTMOREOPTS 2041 -#define IDD_BOOTOPTIONS 2042 -#define IDD_PARTITION 2043 -#define IDC_UPDOWN1 2044 -#define IDC_PARTSIZE 2045 -#define IDC_UNIT 2046 -#define IDC_FSTYPE 2047 -#define IDD_SUMMARYPAGE 2048 -#define IDS_SUMMARYTITLE 2049 -#define IDS_SUMMARYSUBTITLE 2050 -#define IDC_DEVICEDRIVER 2051 +#define IDC_INSTVBRONLY 2025 +#define IDC_NOINSTFREELDR 2026 +#define IDC_PATH 2027 +#define IDD_PROCESSPAGE 2028 +#define IDS_PROCESSTITLE 2029 +#define IDS_PROCESSSUBTITLE 2030 +#define IDC_ACTIVITY 2031 +#define IDC_ITEM 2032 +#define IDC_PROCESSPROGRESS 2033 +#define IDD_RESTARTPAGE 2034 +#define IDS_RESTARTTITLE 2035 +#define IDS_RESTARTSUBTITLE 2036 +#define IDC_FINISHTITLE 2037 +#define IDC_RESTART_PROGRESS 2038 +#define IDS_ABORTSETUP 2039 +#define IDS_ABORTSETUP2 2040 +#define IDC_ACTION 2041 +#define IDC_PARTMOREOPTS 2042 +#define IDD_BOOTOPTIONS 2043 +#define IDD_PARTITION 2044 +#define IDC_UPDOWN1 2045 +#define IDC_PARTSIZE 2046 +#define IDC_UNIT 2047 +#define IDC_FSTYPE 2048 +#define IDD_SUMMARYPAGE 2049 +#define IDS_SUMMARYTITLE 2050 +#define IDS_SUMMARYSUBTITLE 2051 +#define IDC_DEVICEDRIVER 2052 #define IDI_MAIN 3000
13 years, 9 months
1
0
0
0
[rmessiant] 51054: [DRIVERS] - Change () to (VOID) in function declarators. Part 5/XX.
by rmessiant@svn.reactos.org
Author: rmessiant Date: Tue Mar 15 18:41:17 2011 New Revision: 51054 URL:
http://svn.reactos.org/svn/reactos?rev=51054&view=rev
Log: [DRIVERS] - Change () to (VOID) in function declarators. Part 5/XX. Modified: trunk/reactos/drivers/base/kddll/kddll.h trunk/reactos/drivers/filesystems/ext2/inc/protos.h trunk/reactos/drivers/filesystems/fastfat_new/fastfat.h trunk/reactos/drivers/network/lan/include/lan.h trunk/reactos/drivers/network/ndis/include/miniport.h trunk/reactos/drivers/network/tcpip/include/icmp.h trunk/reactos/drivers/network/tcpip/include/interface.h trunk/reactos/drivers/network/tcpip/include/lan.h trunk/reactos/drivers/network/tcpip/include/lock.h trunk/reactos/drivers/storage/classpnp/debug.h Modified: trunk/reactos/drivers/base/kddll/kddll.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/base/kddll/kddll.h…
============================================================================== --- trunk/reactos/drivers/base/kddll/kddll.h [iso-8859-1] (original) +++ trunk/reactos/drivers/base/kddll/kddll.h [iso-8859-1] Tue Mar 15 18:41:17 2011 @@ -70,7 +70,7 @@ KDP_STATUS NTAPI -KdpPollBreakIn(); +KdpPollBreakIn(VOID); #if 0 Modified: trunk/reactos/drivers/filesystems/ext2/inc/protos.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/filesystems/ext2/i…
============================================================================== --- trunk/reactos/drivers/filesystems/ext2/inc/protos.h [iso-8859-1] (original) +++ trunk/reactos/drivers/filesystems/ext2/inc/protos.h [iso-8859-1] Tue Mar 15 18:41:17 2011 @@ -256,7 +256,7 @@ LONGLONG NumberToBeAligned, LONGLONG Alignment); -extern ULONG NTAPI Ext2GetCurrentTime(); +extern ULONG NTAPI Ext2GetCurrentTime(VOID); /************************************************************************* * Prototypes for the file cleanup.c Modified: trunk/reactos/drivers/filesystems/fastfat_new/fastfat.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/filesystems/fastfa…
============================================================================== --- trunk/reactos/drivers/filesystems/fastfat_new/fastfat.h [iso-8859-1] (original) +++ trunk/reactos/drivers/filesystems/fastfat_new/fastfat.h [iso-8859-1] Tue Mar 15 18:41:17 2011 @@ -368,7 +368,7 @@ IN PFCB Fcb); PCCB NTAPI -FatCreateCcb(); +FatCreateCcb(VOID); VOID NTAPI FatDeleteCcb(IN PFAT_IRP_CONTEXT IrpContext, Modified: trunk/reactos/drivers/network/lan/include/lan.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/network/lan/includ…
============================================================================== --- trunk/reactos/drivers/network/lan/include/lan.h [iso-8859-1] (original) +++ trunk/reactos/drivers/network/lan/include/lan.h [iso-8859-1] Tue Mar 15 18:41:17 2011 @@ -156,8 +156,8 @@ VOID FreeNdisPacketX( PNDIS_PACKET Packet, PCHAR File, UINT Line ); -NDIS_STATUS InitNdisPools(); -VOID CloseNdisPools(); +NDIS_STATUS InitNdisPools(VOID); +VOID CloseNdisPools(VOID); PLAN_ADAPTER FindAdapterByIndex( PLAN_DEVICE_EXT DeviceExt, UINT Index ); Modified: trunk/reactos/drivers/network/ndis/include/miniport.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/network/ndis/inclu…
============================================================================== --- trunk/reactos/drivers/network/ndis/include/miniport.h [iso-8859-1] (original) +++ trunk/reactos/drivers/network/ndis/include/miniport.h [iso-8859-1] Tue Mar 15 18:41:17 2011 @@ -169,7 +169,7 @@ PUINT SlotNumber); VOID -NdisStartDevices(); +NdisStartDevices(VOID); VOID NTAPI Modified: trunk/reactos/drivers/network/tcpip/include/icmp.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/network/tcpip/incl…
============================================================================== --- trunk/reactos/drivers/network/tcpip/include/icmp.h [iso-8859-1] (original) +++ trunk/reactos/drivers/network/tcpip/include/icmp.h [iso-8859-1] Tue Mar 15 18:41:17 2011 @@ -55,9 +55,9 @@ ULONG DataSize, PULONG DataUsed ); -NTSTATUS ICMPStartup(); +NTSTATUS ICMPStartup(VOID); -NTSTATUS ICMPShutdown(); +NTSTATUS ICMPShutdown(VOID); VOID ICMPReceive( PIP_INTERFACE Interface, Modified: trunk/reactos/drivers/network/tcpip/include/interface.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/network/tcpip/incl…
============================================================================== --- trunk/reactos/drivers/network/tcpip/include/interface.h [iso-8859-1] (original) +++ trunk/reactos/drivers/network/tcpip/include/interface.h [iso-8859-1] Tue Mar 15 18:41:17 2011 @@ -7,7 +7,7 @@ NTSTATUS GetInterfaceIPv4Address( PIP_INTERFACE Interface, ULONG Type, PULONG Address ); -UINT CountInterfaces(); +UINT CountInterfaces(VOID); UINT CountInterfaceAddresses( PIP_INTERFACE Interface ); NTSTATUS GetInterfaceSpeed( PIP_INTERFACE Interface, PUINT Speed ); NTSTATUS GetInterfaceName( PIP_INTERFACE Interface, PCHAR NameBuffer, Modified: trunk/reactos/drivers/network/tcpip/include/lan.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/network/tcpip/incl…
============================================================================== --- trunk/reactos/drivers/network/tcpip/include/lan.h [iso-8859-1] (original) +++ trunk/reactos/drivers/network/tcpip/include/lan.h [iso-8859-1] Tue Mar 15 18:41:17 2011 @@ -94,8 +94,8 @@ VOID NTAPI LANUnregisterProtocol(VOID); -VOID LANStartup(); -VOID LANShutdown(); +VOID LANStartup(VOID); +VOID LANShutdown(VOID); NTSTATUS TcpipLanGetDwordOid( PIP_INTERFACE Interface, NDIS_OID Oid, PULONG Result ); Modified: trunk/reactos/drivers/network/tcpip/include/lock.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/network/tcpip/incl…
============================================================================== --- trunk/reactos/drivers/network/tcpip/include/lock.h [iso-8859-1] (original) +++ trunk/reactos/drivers/network/tcpip/include/lock.h [iso-8859-1] Tue Mar 15 18:41:17 2011 @@ -1,6 +1,6 @@ #pragma once -extern KIRQL TcpipGetCurrentIrql(); +extern KIRQL TcpipGetCurrentIrql(VOID); extern VOID TcpipInitializeSpinLock( PKSPIN_LOCK SpinLock ); extern VOID TcpipAcquireSpinLock( PKSPIN_LOCK SpinLock, PKIRQL Irql ); extern VOID TcpipReleaseSpinLock( PKSPIN_LOCK SpinLock, KIRQL Irql ); Modified: trunk/reactos/drivers/storage/classpnp/debug.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/storage/classpnp/d…
============================================================================== --- trunk/reactos/drivers/storage/classpnp/debug.h [iso-8859-1] (original) +++ trunk/reactos/drivers/storage/classpnp/debug.h [iso-8859-1] Tue Mar 15 18:41:17 2011 @@ -113,7 +113,7 @@ #define DBGCHECKRETURNEDPKT(_pkt) DbgCheckReturnedPkt(_pkt) #define DBGGETSRBSTATUSSTR(_pSrb) DbgGetSrbStatusStr(_pSrb) - VOID ClasspInitializeDebugGlobals(); + VOID ClasspInitializeDebugGlobals(VOID); char *DbgGetIoctlStr(ULONG ioctl); char *DbgGetScsiOpStr(PSCSI_REQUEST_BLOCK Srb); char *DbgGetSenseCodeStr(PSCSI_REQUEST_BLOCK Srb);
13 years, 9 months
1
0
0
0
[spetreolle] 51053: [SHELL32] Fix missing "Open" menu entry on right click for All Users desktop shortcuts. Patch by Thomas Faber <thfabba at gmx dot de> See issue #5998 for more details.
by spetreolle@svn.reactos.org
Author: spetreolle Date: Tue Mar 15 15:37:09 2011 New Revision: 51053 URL:
http://svn.reactos.org/svn/reactos?rev=51053&view=rev
Log: [SHELL32] Fix missing "Open" menu entry on right click for All Users desktop shortcuts. Patch by Thomas Faber <thfabba at gmx dot de> See issue #5998 for more details. Modified: trunk/reactos/dll/win32/shell32/clipboard.c Modified: trunk/reactos/dll/win32/shell32/clipboard.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/clipboar…
============================================================================== --- trunk/reactos/dll/win32/shell32/clipboard.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/shell32/clipboard.c [iso-8859-1] Tue Mar 15 15:37:09 2011 @@ -47,26 +47,26 @@ HGLOBAL RenderHDROP(LPITEMIDLIST pidlRoot, LPITEMIDLIST * apidl, UINT cidl) { UINT i; - int rootlen = 0,size = 0; - WCHAR wszRootPath[MAX_PATH]; + int size = 0; WCHAR wszFileName[MAX_PATH]; HGLOBAL hGlobal; DROPFILES *pDropFiles; int offset; - - TRACE("(%p,%p,%u)\n", pidlRoot, apidl, cidl); + LPITEMIDLIST *pidls; + + TRACE("(%p,%p,%u)\n", pidlRoot, apidl, cidl); + + pidls = HeapAlloc(GetProcessHeap(), 0, cidl * sizeof *pidls); + if (!pidls) return NULL; /* get the size needed */ size = sizeof(DROPFILES); - SHGetPathFromIDListW(pidlRoot, wszRootPath); - PathAddBackslashW(wszRootPath); - rootlen = wcslen(wszRootPath); - for (i=0; i<cidl;i++) { - _ILSimpleGetTextW(apidl[i], wszFileName, MAX_PATH); - size += (rootlen + wcslen(wszFileName) + 1) * sizeof(WCHAR); + pidls[i] = ILCombine(pidlRoot, apidl[i]); + SHGetPathFromIDListW(pidls[i], wszFileName); + size += (wcslen(wszFileName) + 1) * sizeof(WCHAR); } size += sizeof(WCHAR); @@ -80,18 +80,18 @@ pDropFiles->pFiles = offset * sizeof(WCHAR); pDropFiles->fWide = TRUE; - wcscpy(wszFileName, wszRootPath); - for (i=0; i<cidl;i++) { - - _ILSimpleGetTextW(apidl[i], wszFileName + rootlen, MAX_PATH - rootlen); + SHGetPathFromIDListW(pidls[i], wszFileName); wcscpy(((WCHAR*)pDropFiles)+offset, wszFileName); offset += wcslen(wszFileName) + 1; + ILFree(pidls[i]); } ((WCHAR*)pDropFiles)[offset] = 0; GlobalUnlock(hGlobal); + + HeapFree(GetProcessHeap(), 0, pidls); return hGlobal; }
13 years, 9 months
1
0
0
0
[pschweitzer] 51052: [HAL\x86] Define a flag when building HAL with ACPI support
by pschweitzer@svn.reactos.org
Author: pschweitzer Date: Mon Mar 14 22:25:50 2011 New Revision: 51052 URL:
http://svn.reactos.org/svn/reactos?rev=51052&view=rev
Log: [HAL\x86] Define a flag when building HAL with ACPI support Modified: trunk/reactos/hal/halx86/hal_generic_acpi.rbuild trunk/reactos/hal/halx86/halacpi.rbuild Modified: trunk/reactos/hal/halx86/hal_generic_acpi.rbuild URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/hal/halx86/hal_generic_acp…
============================================================================== --- trunk/reactos/hal/halx86/hal_generic_acpi.rbuild [iso-8859-1] (original) +++ trunk/reactos/hal/halx86/hal_generic_acpi.rbuild [iso-8859-1] Mon Mar 14 22:25:50 2011 @@ -6,6 +6,7 @@ <include base="ntoskrnl">include</include> <define name="_NTHALDLL_" /> <define name="_NTHAL_" /> + <define name="CONFIG_ACPI" /> <directory name="generic"> <directory name="acpi"> <file>halacpi.c</file> Modified: trunk/reactos/hal/halx86/halacpi.rbuild URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/hal/halx86/halacpi.rbuild?…
============================================================================== --- trunk/reactos/hal/halx86/halacpi.rbuild [iso-8859-1] (original) +++ trunk/reactos/hal/halx86/halacpi.rbuild [iso-8859-1] Mon Mar 14 22:25:50 2011 @@ -8,6 +8,7 @@ <include base="ntoskrnl">include</include> <define name="_NTHALDLL_" /> <define name="_NTHAL_" /> + <define name="CONFIG_ACPI" /> <library>hal_generic</library> <library>hal_generic_acpi</library> <library>hal_generic_up</library>
13 years, 9 months
1
0
0
0
[fireball] 51051: [NTDLL/LDR] - Rewrite TLS part of the ntdll loader. Old TLS-related messy, duplicated and hard to maintain code is gone. - Disclaimer: All new ldr-rewrite code is almost entirely ...
by fireball@svn.reactos.org
Author: fireball Date: Mon Mar 14 22:06:25 2011 New Revision: 51051 URL:
http://svn.reactos.org/svn/reactos?rev=51051&view=rev
Log: [NTDLL/LDR] - Rewrite TLS part of the ntdll loader. Old TLS-related messy, duplicated and hard to maintain code is gone. - Disclaimer: All new ldr-rewrite code is almost entirely based on Alex's patch made in 2006, with my improvements, bugfixes and adapting existing codepaths. - File naming convention: Files of the ldr*.c mask are considered as a new rewritten loader code. All other files in ntdll/ldr directory are old code which soon may be deprecated. Added: trunk/reactos/dll/ntdll/ldr/ldrutils.c (with props) Modified: trunk/reactos/dll/ntdll/include/ntdllp.h trunk/reactos/dll/ntdll/ldr/ldrinit.c trunk/reactos/dll/ntdll/ldr/utils.c trunk/reactos/dll/ntdll/ntdll.rbuild Modified: trunk/reactos/dll/ntdll/include/ntdllp.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/ntdll/include/ntdllp.h…
============================================================================== --- trunk/reactos/dll/ntdll/include/ntdllp.h [iso-8859-1] (original) +++ trunk/reactos/dll/ntdll/include/ntdllp.h [iso-8859-1] Mon Mar 14 22:06:25 2011 @@ -7,6 +7,28 @@ */ /* INCLUDES ******************************************************************/ + +extern BOOLEAN ShowSnaps; + +typedef struct _LDRP_TLS_DATA +{ + LIST_ENTRY TlsLinks; + IMAGE_TLS_DIRECTORY TlsDirectory; +} LDRP_TLS_DATA, *PLDRP_TLS_DATA; + +typedef BOOL +(NTAPI *PDLLMAIN_FUNC)(HANDLE hInst, + ULONG ul_reason_for_call, + LPVOID lpReserved); + + +/* ldrinit.c */ +NTSTATUS NTAPI LdrpInitializeTls(VOID); +NTSTATUS NTAPI LdrpAllocateTls(VOID); +VOID NTAPI LdrpFreeTls(VOID); +VOID NTAPI LdrpTlsCallback(PVOID BaseAddress, ULONG Reason); +BOOLEAN NTAPI LdrpCallDllEntry(PDLLMAIN_FUNC EntryPoint, PVOID BaseAddress, ULONG Reason, PVOID Context); + /* FIXME: Cleanup this mess */ typedef NTSTATUS (NTAPI *PEPFUNC)(PPEB); @@ -23,10 +45,6 @@ HANDLE SectionHandle, PLDR_DATA_TABLE_ENTRY* Module, PWSTR FullDosName); -typedef BOOL -(NTAPI *PDLLMAIN_FUNC)(HANDLE hInst, - ULONG ul_reason_for_call, - LPVOID lpReserved); extern HANDLE WindowsApiPort; Modified: trunk/reactos/dll/ntdll/ldr/ldrinit.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/ntdll/ldr/ldrinit.c?re…
============================================================================== --- trunk/reactos/dll/ntdll/ldr/ldrinit.c [iso-8859-1] (original) +++ trunk/reactos/dll/ntdll/ldr/ldrinit.c [iso-8859-1] Mon Mar 14 22:06:25 2011 @@ -20,6 +20,16 @@ UNICODE_STRING ImageExecOptionsString = RTL_CONSTANT_STRING(L"\\Registry\\Machine\\Software\\Microsoft\\Windows NT\\CurrentVersion\\Image File Execution Options"); UNICODE_STRING Wow64OptionsString = RTL_CONSTANT_STRING(L""); +//RTL_BITMAP TlsBitMap; +//RTL_BITMAP TlsExpansionBitMap; +//RTL_BITMAP FlsBitMap; +BOOLEAN LdrpImageHasTls; +LIST_ENTRY LdrpTlsList; +ULONG LdrpNumberOfTlsEntries; +ULONG LdrpNumberOfProcessors; + +BOOLEAN ShowSnaps; + /* FUNCTIONS *****************************************************************/ /* @@ -317,4 +327,167 @@ FALSE); } +NTSTATUS +NTAPI +LdrpInitializeTls(VOID) +{ + PLIST_ENTRY NextEntry, ListHead; + PLDR_DATA_TABLE_ENTRY LdrEntry; + PIMAGE_TLS_DIRECTORY TlsDirectory; + PLDRP_TLS_DATA TlsData; + ULONG Size; + + /* Initialize the TLS List */ + InitializeListHead(&LdrpTlsList); + + /* Loop all the modules */ + ListHead = &NtCurrentPeb()->Ldr->InLoadOrderModuleList; + NextEntry = ListHead->Flink; + while (ListHead != NextEntry) + { + /* Get the entry */ + LdrEntry = CONTAINING_RECORD(NextEntry, LDR_DATA_TABLE_ENTRY, InLoadOrderLinks); + NextEntry = NextEntry->Flink; + + /* Get the TLS directory */ + TlsDirectory = RtlImageDirectoryEntryToData(LdrEntry->DllBase, + TRUE, + IMAGE_DIRECTORY_ENTRY_TLS, + &Size); + + /* Check if we have a directory */ + if (!TlsDirectory) continue; + + /* Check if the image has TLS */ + if (!LdrpImageHasTls) LdrpImageHasTls = TRUE; + + /* Show debug message */ + if (ShowSnaps) + { + DPRINT1("LDR: Tls Found in %wZ at %p\n", + &LdrEntry->BaseDllName, + TlsDirectory); + } + + /* Allocate an entry */ + TlsData = RtlAllocateHeap(RtlGetProcessHeap(), 0, sizeof(LDRP_TLS_DATA)); + if (!TlsData) return STATUS_NO_MEMORY; + + /* Lock the DLL and mark it for TLS Usage */ + LdrEntry->LoadCount = -1; + LdrEntry->TlsIndex = -1; + + /* Save the cached TLS data */ + TlsData->TlsDirectory = *TlsDirectory; + InsertTailList(&LdrpTlsList, &TlsData->TlsLinks); + + /* Update the index */ + *(PLONG)TlsData->TlsDirectory.AddressOfIndex = LdrpNumberOfTlsEntries; + TlsData->TlsDirectory.Characteristics = LdrpNumberOfTlsEntries++; + } + + /* Done setting up TLS, allocate entries */ + return LdrpAllocateTls(); +} + +NTSTATUS +NTAPI +LdrpAllocateTls(VOID) +{ + PTEB Teb = NtCurrentTeb(); + PLIST_ENTRY NextEntry, ListHead; + PLDRP_TLS_DATA TlsData; + ULONG TlsDataSize; + PVOID *TlsVector; + + /* Check if we have any entries */ + if (LdrpNumberOfTlsEntries) + return 0; + + /* Allocate the vector array */ + TlsVector = RtlAllocateHeap(RtlGetProcessHeap(), + 0, + LdrpNumberOfTlsEntries * sizeof(PVOID)); + if (!TlsVector) return STATUS_NO_MEMORY; + Teb->ThreadLocalStoragePointer = TlsVector; + + /* Loop the TLS Array */ + ListHead = &LdrpTlsList; + NextEntry = ListHead->Flink; + while (NextEntry != ListHead) + { + /* Get the entry */ + TlsData = CONTAINING_RECORD(NextEntry, LDRP_TLS_DATA, TlsLinks); + NextEntry = NextEntry->Flink; + + /* Allocate this vector */ + TlsDataSize = TlsData->TlsDirectory.EndAddressOfRawData - + TlsData->TlsDirectory.StartAddressOfRawData; + TlsVector[TlsData->TlsDirectory.Characteristics] = RtlAllocateHeap(RtlGetProcessHeap(), + 0, + TlsDataSize); + if (!TlsVector[TlsData->TlsDirectory.Characteristics]) + { + /* Out of memory */ + return STATUS_NO_MEMORY; + } + + /* Show debug message */ + if (ShowSnaps) + { + DPRINT1("LDR: TlsVector %x Index %d = %x copied from %x to %x\n", + TlsVector, + TlsData->TlsDirectory.Characteristics, + &TlsVector[TlsData->TlsDirectory.Characteristics], + TlsData->TlsDirectory.StartAddressOfRawData, + TlsVector[TlsData->TlsDirectory.Characteristics]); + } + + /* Copy the data */ + RtlCopyMemory(TlsVector[TlsData->TlsDirectory.Characteristics], + (PVOID)TlsData->TlsDirectory.StartAddressOfRawData, + TlsDataSize); + } + + /* Done */ + return STATUS_SUCCESS; +} + +VOID +NTAPI +LdrpFreeTls(VOID) +{ + PLIST_ENTRY ListHead, NextEntry; + PLDRP_TLS_DATA TlsData; + PVOID *TlsVector; + PTEB Teb = NtCurrentTeb(); + + /* Get a pointer to the vector array */ + TlsVector = Teb->ThreadLocalStoragePointer; + if (!TlsVector) return; + + /* Loop through it */ + ListHead = &LdrpTlsList; + NextEntry = ListHead->Flink; + while (NextEntry != ListHead) + { + TlsData = CONTAINING_RECORD(NextEntry, LDRP_TLS_DATA, TlsLinks); + NextEntry = NextEntry->Flink; + + /* Free each entry */ + if (TlsVector[TlsData->TlsDirectory.Characteristics]) + { + RtlFreeHeap(RtlGetProcessHeap(), + 0, + TlsVector[TlsData->TlsDirectory.Characteristics]); + } + } + + /* Free the array itself */ + RtlFreeHeap(RtlGetProcessHeap(), + 0, + TlsVector); +} + + /* EOF */ Added: trunk/reactos/dll/ntdll/ldr/ldrutils.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/ntdll/ldr/ldrutils.c?r…
============================================================================== --- trunk/reactos/dll/ntdll/ldr/ldrutils.c (added) +++ trunk/reactos/dll/ntdll/ldr/ldrutils.c [iso-8859-1] Mon Mar 14 22:06:25 2011 @@ -1,0 +1,83 @@ +/* + * COPYRIGHT: See COPYING in the top level directory + * PROJECT: ReactOS NT User-Mode Library + * FILE: dll/ntdll/ldr/ldrutils.c + * PURPOSE: Internal Loader Utility Functions + * PROGRAMMERS: Alex Ionescu (alex(a)relsoft.net) + * Aleksey Bragin (aleksey(a)reactos.org) + */ + +/* INCLUDES *****************************************************************/ + +#include <ntdll.h> +#define NDEBUG +#include <debug.h> + +/* GLOBALS *******************************************************************/ + +/* FUNCTIONS *****************************************************************/ + +BOOLEAN +NTAPI +LdrpCallDllEntry(PDLLMAIN_FUNC EntryPoint, + PVOID BaseAddress, + ULONG Reason, + PVOID Context) +{ + /* Call the entry */ + return EntryPoint(BaseAddress, Reason, Context); +} + +VOID +NTAPI +LdrpTlsCallback(PVOID BaseAddress, ULONG Reason) +{ + PIMAGE_TLS_DIRECTORY TlsDirectory; + PIMAGE_TLS_CALLBACK *Array, Callback; + ULONG Size; + + /* Get the TLS Directory */ + TlsDirectory = RtlImageDirectoryEntryToData(BaseAddress, + TRUE, + IMAGE_DIRECTORY_ENTRY_TLS, + &Size); + + /* Protect against invalid pointers */ + _SEH2_TRY + { + /* Make sure it's valid and we have an array */ + if (TlsDirectory && (Array = (PIMAGE_TLS_CALLBACK *)TlsDirectory->AddressOfCallBacks)) + { + /* Display debug */ + if (ShowSnaps) + { + DPRINT1("LDR: Tls Callbacks Found. Imagebase %p Tls %p CallBacks %p\n", + BaseAddress, TlsDirectory, Array); + } + + /* Loop the array */ + while (*Array) + { + /* Get the TLS Entrypoint */ + Callback = *Array++; + + /* Display debug */ + if (ShowSnaps) + { + DPRINT1("LDR: Calling Tls Callback Imagebase %p Function %p\n", + BaseAddress, Callback); + } + + /* Call it */ + LdrpCallDllEntry((PDLLMAIN_FUNC)Callback, BaseAddress, Reason, NULL); + } + } + } + _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER) + { + /* Do nothing */ + } + _SEH2_END; +} + +/* EOF */ Propchange: trunk/reactos/dll/ntdll/ldr/ldrutils.c ------------------------------------------------------------------------------ svn:eol-style = native Modified: trunk/reactos/dll/ntdll/ldr/utils.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/ntdll/ldr/utils.c?rev=…
============================================================================== --- trunk/reactos/dll/ntdll/ldr/utils.c [iso-8859-1] (original) +++ trunk/reactos/dll/ntdll/ldr/utils.c [iso-8859-1] Mon Mar 14 22:06:25 2011 @@ -31,19 +31,7 @@ #define TRACE_LDR(...) if (RtlGetNtGlobalFlags() & FLG_SHOW_LDR_SNAPS) { DbgPrint("(LDR:%s:%d) ",__FILE__,__LINE__); DbgPrint(__VA_ARGS__); } #endif -typedef struct _TLS_DATA -{ - PVOID StartAddressOfRawData; - DWORD TlsDataSize; - DWORD TlsZeroSize; - PIMAGE_TLS_CALLBACK *TlsAddressOfCallBacks; - PLDR_DATA_TABLE_ENTRY Module; -} TLS_DATA, *PTLS_DATA; - static BOOLEAN LdrpDllShutdownInProgress = FALSE; -static PTLS_DATA LdrpTlsArray = NULL; -static ULONG LdrpTlsCount = 0; -static ULONG LdrpTlsSize = 0; static HANDLE LdrpKnownDllsDirHandle = NULL; static UNICODE_STRING LdrpKnownDllPath = {0, 0, NULL}; static PLDR_DATA_TABLE_ENTRY LdrpLastModule = NULL; @@ -116,51 +104,6 @@ RtlLeaveCriticalSection(NtCurrentPeb()->LoaderLock); } return LoadCount; -} - -static __inline VOID LdrpAcquireTlsSlot(PLDR_DATA_TABLE_ENTRY Module, ULONG Size, BOOLEAN Locked) -{ - if (!Locked) - { - RtlEnterCriticalSection (NtCurrentPeb()->LoaderLock); - } - Module->TlsIndex = (SHORT)LdrpTlsCount; - LdrpTlsCount++; - LdrpTlsSize += Size; - if (!Locked) - { - RtlLeaveCriticalSection(NtCurrentPeb()->LoaderLock); - } -} - -static __inline VOID LdrpTlsCallback(PLDR_DATA_TABLE_ENTRY Module, ULONG dwReason) -{ - PIMAGE_TLS_CALLBACK *TlsCallback; - if (Module->TlsIndex != 0xFFFF && Module->LoadCount == LDRP_PROCESS_CREATION_TIME) - { - TlsCallback = LdrpTlsArray[Module->TlsIndex].TlsAddressOfCallBacks; - if (TlsCallback) - { - while (*TlsCallback) - { - TRACE_LDR("%wZ - Calling tls callback at %x\n", - &Module->BaseDllName, *TlsCallback); - (*TlsCallback)(Module->DllBase, dwReason, NULL); - TlsCallback++; - } - } - } -} - -static BOOLEAN LdrpCallDllEntry(PLDR_DATA_TABLE_ENTRY Module, DWORD dwReason, PVOID lpReserved) -{ - if (!(Module->Flags & LDRP_IMAGE_DLL) || - Module->EntryPoint == 0) - { - return TRUE; - } - LdrpTlsCallback(Module, dwReason); - return ((PDLLMAIN_FUNC)Module->EntryPoint)(Module->DllBase, dwReason, lpReserved); } static PWSTR @@ -267,127 +210,6 @@ wcscpy(Path, SearchPathBuffer); return Path; -} - -static NTSTATUS -LdrpInitializeTlsForThread(VOID) -{ - PVOID* TlsPointers; - PTLS_DATA TlsInfo; - PVOID TlsData; - ULONG i; - PTEB Teb = NtCurrentTeb(); - - DPRINT("LdrpInitializeTlsForThread() called for %wZ\n", &ExeModule->BaseDllName); - - Teb->StaticUnicodeString.Length = 0; - Teb->StaticUnicodeString.MaximumLength = sizeof(Teb->StaticUnicodeBuffer); - Teb->StaticUnicodeString.Buffer = Teb->StaticUnicodeBuffer; - - if (LdrpTlsCount > 0) - { - TlsPointers = RtlAllocateHeap(RtlGetProcessHeap(), - 0, - LdrpTlsCount * sizeof(PVOID) + LdrpTlsSize); - if (TlsPointers == NULL) - { - DPRINT1("failed to allocate thread tls data\n"); - return STATUS_NO_MEMORY; - } - - TlsData = (PVOID)((ULONG_PTR)TlsPointers + LdrpTlsCount * sizeof(PVOID)); - Teb->ThreadLocalStoragePointer = TlsPointers; - - TlsInfo = LdrpTlsArray; - for (i = 0; i < LdrpTlsCount; i++, TlsInfo++) - { - TRACE_LDR("Initialize tls data for %wZ\n", &TlsInfo->Module->BaseDllName); - TlsPointers[i] = TlsData; - if (TlsInfo->TlsDataSize) - { - memcpy(TlsData, TlsInfo->StartAddressOfRawData, TlsInfo->TlsDataSize); - TlsData = (PVOID)((ULONG_PTR)TlsData + TlsInfo->TlsDataSize); - } - if (TlsInfo->TlsZeroSize) - { - memset(TlsData, 0, TlsInfo->TlsZeroSize); - TlsData = (PVOID)((ULONG_PTR)TlsData + TlsInfo->TlsZeroSize); - } - } - } - - DPRINT("LdrpInitializeTlsForThread() done\n"); - return STATUS_SUCCESS; -} - -static NTSTATUS -LdrpInitializeTlsForProccess(VOID) -{ - PLIST_ENTRY ModuleListHead; - PLIST_ENTRY Entry; - PLDR_DATA_TABLE_ENTRY Module; - PIMAGE_TLS_DIRECTORY TlsDirectory; - PTLS_DATA TlsData; - ULONG Size; - - DPRINT("LdrpInitializeTlsForProccess() called for %wZ\n", &ExeModule->BaseDllName); - - if (LdrpTlsCount > 0) - { - LdrpTlsArray = RtlAllocateHeap(RtlGetProcessHeap(), - 0, - LdrpTlsCount * sizeof(TLS_DATA)); - if (LdrpTlsArray == NULL) - { - DPRINT1("Failed to allocate global tls data\n"); - return STATUS_NO_MEMORY; - } - - ModuleListHead = &NtCurrentPeb()->Ldr->InLoadOrderModuleList; - Entry = ModuleListHead->Flink; - while (Entry != ModuleListHead) - { - Module = CONTAINING_RECORD(Entry, LDR_DATA_TABLE_ENTRY, InLoadOrderLinks); - if (Module->LoadCount == LDRP_PROCESS_CREATION_TIME && - Module->TlsIndex != 0xFFFF) - { - TlsDirectory = (PIMAGE_TLS_DIRECTORY) - RtlImageDirectoryEntryToData(Module->DllBase, - TRUE, - IMAGE_DIRECTORY_ENTRY_TLS, - &Size); - ASSERT(Module->TlsIndex < LdrpTlsCount); - TlsData = &LdrpTlsArray[Module->TlsIndex]; - TlsData->StartAddressOfRawData = (PVOID)TlsDirectory->StartAddressOfRawData; - TlsData->TlsDataSize = TlsDirectory->EndAddressOfRawData - TlsDirectory->StartAddressOfRawData; - TlsData->TlsZeroSize = TlsDirectory->SizeOfZeroFill; - if (TlsDirectory->AddressOfCallBacks) - TlsData->TlsAddressOfCallBacks = (PIMAGE_TLS_CALLBACK *)TlsDirectory->AddressOfCallBacks; - else - TlsData->TlsAddressOfCallBacks = NULL; - TlsData->Module = Module; -#if 0 - DbgPrint("TLS directory for %wZ\n", &Module->BaseDllName); - DbgPrint("StartAddressOfRawData: %x\n", TlsDirectory->StartAddressOfRawData); - DbgPrint("EndAddressOfRawData: %x\n", TlsDirectory->EndAddressOfRawData); - DbgPrint("SizeOfRawData: %d\n", TlsDirectory->EndAddressOfRawData - TlsDirectory->StartAddressOfRawData); - DbgPrint("AddressOfIndex: %x\n", TlsDirectory->AddressOfIndex); - DbgPrint("AddressOfCallBacks: %x\n", TlsDirectory->AddressOfCallBacks); - DbgPrint("SizeOfZeroFill: %d\n", TlsDirectory->SizeOfZeroFill); - DbgPrint("Characteristics: %x\n", TlsDirectory->Characteristics); -#endif - /* - * FIXME: - * Is this region allways writable ? - */ - *(PULONG)TlsDirectory->AddressOfIndex = Module->TlsIndex; - } - Entry = Entry->Flink; - } - } - - DPRINT("LdrpInitializeTlsForProccess() done\n"); - return STATUS_SUCCESS; } VOID @@ -2093,11 +1915,6 @@ } } - if (TlsDirectory && TlsSize > 0) - { - LdrpAcquireTlsSlot(Module, TlsSize, FALSE); - } - if (Module->EntryPointActivationContext) RtlDeactivateActivationContext( 0, cookie ); return STATUS_SUCCESS; @@ -2216,14 +2033,14 @@ } DPRINT("Fixup done\n"); RtlEnterCriticalSection(NtCurrentPeb()->LoaderLock); - Status = LdrpInitializeTlsForProccess(); + Status = LdrpInitializeTls(); if (NT_SUCCESS(Status)) { Status = LdrpAttachProcess(); } if (NT_SUCCESS(Status)) { - LdrpTlsCallback(*Module, DLL_PROCESS_ATTACH); + LdrpTlsCallback((*Module)->DllBase, DLL_PROCESS_ATTACH); } @@ -2768,9 +2585,21 @@ { TRACE_LDR("Unload %wZ - Calling entry point at %x\n", &Module->BaseDllName, Module->EntryPoint); - LdrpCallDllEntry(Module, - DLL_PROCESS_DETACH, - (PVOID)(Module->LoadCount == LDRP_PROCESS_CREATION_TIME ? 1 : 0)); + + /* Check if it has TLS */ + if (Module->TlsIndex) + { + /* Call TLS */ + LdrpTlsCallback(Module->DllBase, DLL_PROCESS_ATTACH); + } + + if ((Module->Flags & LDRP_IMAGE_DLL) && Module->EntryPoint) + { + LdrpCallDllEntry(Module->EntryPoint, + Module->DllBase, + DLL_PROCESS_DETACH, + (PVOID)(Module->LoadCount == LDRP_PROCESS_CREATION_TIME ? 1 : 0)); + } } else { @@ -2855,7 +2684,19 @@ Module->Flags |= LDRP_LOAD_IN_PROGRESS; TRACE_LDR("%wZ loaded - Calling init routine at %x for process attaching\n", &Module->BaseDllName, Module->EntryPoint); - Result = LdrpCallDllEntry(Module, DLL_PROCESS_ATTACH, (PVOID)(Module->LoadCount == LDRP_PROCESS_CREATION_TIME ? 1 : 0)); + + /* Check if it has TLS */ + if (Module->TlsIndex && FALSE/*Context*/) + { + /* Call TLS */ + LdrpTlsCallback(Module->DllBase, DLL_PROCESS_ATTACH); + } + + if ((Module->Flags & LDRP_IMAGE_DLL) && Module->EntryPoint) + Result = LdrpCallDllEntry(Module->EntryPoint, Module->DllBase, DLL_PROCESS_ATTACH, (PVOID)(Module->LoadCount == LDRP_PROCESS_CREATION_TIME ? 1 : 0)); + else + Result = TRUE; + if (!Result) { Status = STATUS_DLL_INIT_FAILED; @@ -2915,7 +2756,7 @@ RtlEnterCriticalSection (NtCurrentPeb()->LoaderLock); - Status = LdrpInitializeTlsForThread(); + Status = LdrpAllocateTls(); if (NT_SUCCESS(Status)) { @@ -2931,14 +2772,23 @@ { TRACE_LDR("%wZ - Calling entry point at %x for thread attaching\n", &Module->BaseDllName, Module->EntryPoint); - LdrpCallDllEntry(Module, DLL_THREAD_ATTACH, NULL); + + /* Check if it has TLS */ + if (Module->TlsIndex) + { + /* Call TLS */ + LdrpTlsCallback(Module->DllBase, DLL_THREAD_ATTACH); + } + + if ((Module->Flags & LDRP_IMAGE_DLL) && Module->EntryPoint) + LdrpCallDllEntry(Module->EntryPoint, Module->DllBase, DLL_THREAD_ATTACH, NULL); } Entry = Entry->Flink; } Entry = NtCurrentPeb()->Ldr->InLoadOrderModuleList.Flink; Module = CONTAINING_RECORD(Entry, LDR_DATA_TABLE_ENTRY, InLoadOrderLinks); - LdrpTlsCallback(Module, DLL_THREAD_ATTACH); + LdrpTlsCallback(Module->DllBase, DLL_THREAD_ATTACH); } RtlLeaveCriticalSection (NtCurrentPeb()->LoaderLock); @@ -2976,17 +2826,22 @@ { TRACE_LDR("%wZ - Calling entry point at %x for thread detaching\n", &Module->BaseDllName, Module->EntryPoint); - LdrpCallDllEntry(Module, DLL_THREAD_DETACH, NULL); + /* Check if it has TLS */ + if (Module->TlsIndex) + { + /* Call TLS */ + LdrpTlsCallback(Module->DllBase, DLL_THREAD_DETACH); + } + + if ((Module->Flags & LDRP_IMAGE_DLL) && Module->EntryPoint) + LdrpCallDllEntry(Module->EntryPoint, Module->DllBase, DLL_THREAD_DETACH, NULL); } Entry = Entry->Blink; } + /* Free TLS */ + LdrpFreeTls(); RtlLeaveCriticalSection (NtCurrentPeb()->LoaderLock); - - if (LdrpTlsArray) - { - RtlFreeHeap (RtlGetProcessHeap(), 0, NtCurrentTeb()->ThreadLocalStoragePointer); - } DPRINT("LdrShutdownThread() done\n"); Modified: trunk/reactos/dll/ntdll/ntdll.rbuild URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/ntdll/ntdll.rbuild?rev…
============================================================================== --- trunk/reactos/dll/ntdll/ntdll.rbuild [iso-8859-1] (original) +++ trunk/reactos/dll/ntdll/ntdll.rbuild [iso-8859-1] Mon Mar 14 22:06:25 2011 @@ -48,6 +48,7 @@ </directory> <directory name="ldr"> <file>ldrinit.c</file> + <file>ldrutils.c</file> <file>startup.c</file> <file>utils.c</file> <file>actctx.c</file>
13 years, 9 months
1
0
0
0
[gadamopoulos] 51050: [win32k] - Partly revert r51031
by gadamopoulos@svn.reactos.org
Author: gadamopoulos Date: Mon Mar 14 15:59:21 2011 New Revision: 51050 URL:
http://svn.reactos.org/svn/reactos?rev=51050&view=rev
Log: [win32k] - Partly revert r51031 Modified: trunk/reactos/subsystems/win32/win32k/ntuser/message.c trunk/reactos/subsystems/win32/win32k/ntuser/msgqueue.c Modified: trunk/reactos/subsystems/win32/win32k/ntuser/message.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/nt…
============================================================================== --- trunk/reactos/subsystems/win32/win32k/ntuser/message.c [iso-8859-1] (original) +++ trunk/reactos/subsystems/win32/win32k/ntuser/message.c [iso-8859-1] Mon Mar 14 15:59:21 2011 @@ -1459,21 +1459,19 @@ Message->lResult = 0; Message->QS_Flags = 0; Message->SenderQueue = NULL; // mjmartin, you are right! This is null. - IntReferenceMessageQueue(Win32Thread->MessageQueue); Message->CallBackSenderQueue = Win32Thread->MessageQueue; + + IntReferenceMessageQueue(Window->head.pti->MessageQueue); Message->CompletionCallback = CompletionCallback; Message->CompletionCallbackContext = CompletionCallbackContext; - Message->HookMessage = MSQ_NORMAL; // | MSQ_SENTNOWAIT + Message->HookMessage = MSQ_NORMAL | MSQ_SENTNOWAIT; Message->HasPackedLParam = (lParamBufferSize > 0); - Message->DispatchingListEntry.Flink = NULL; + Message->QS_Flags = QS_SENDMESSAGE; - - IntReferenceMessageQueue(Window->head.pti->MessageQueue); - MsqWakeQueue(Window->head.pti->MessageQueue, QS_SENDMESSAGE, FALSE); InsertTailList(&Window->head.pti->MessageQueue->SentMessagesListHead, &Message->ListEntry); - //IntDereferenceMessageQueue(Window->head.pti->MessageQueue); + IntDereferenceMessageQueue(Window->head.pti->MessageQueue); RETURN(TRUE); Modified: trunk/reactos/subsystems/win32/win32k/ntuser/msgqueue.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/nt…
============================================================================== --- trunk/reactos/subsystems/win32/win32k/ntuser/msgqueue.c [iso-8859-1] (original) +++ trunk/reactos/subsystems/win32/win32k/ntuser/msgqueue.c [iso-8859-1] Mon Mar 14 15:59:21 2011 @@ -406,42 +406,6 @@ ExFreeToPagedLookasideList(&MessageLookasideList, Message); } -VOID FASTCALL -MsqDestroySentMessage(PUSER_MESSAGE_QUEUE MessageQueue, PUSER_SENT_MESSAGE SentMessage) -{ - /* remove the message from the dispatching list if needed */ - if (SentMessage->DispatchingListEntry.Flink != NULL) - { - RemoveEntryList(&SentMessage->DispatchingListEntry); - } - - /* wake the sender's thread */ - if (SentMessage->CompletionEvent != NULL) - { - KeSetEvent(SentMessage->CompletionEvent, IO_NO_INCREMENT, FALSE); - } - - /* dereference message queues */ - IntDereferenceMessageQueue(MessageQueue); - if (SentMessage->SenderQueue) - { - IntDereferenceMessageQueue(SentMessage->SenderQueue); - } - if (SentMessage->CallBackSenderQueue) - { - IntDereferenceMessageQueue(SentMessage->CallBackSenderQueue); - } - - /* free lParam if needed */ - if (SentMessage->HasPackedLParam == TRUE && SentMessage->Msg.lParam) - { - ExFreePool((PVOID)SentMessage->Msg.lParam); - } - - /* free the message */ - ExFreePoolWithTag(SentMessage, TAG_USRMSG); -} - BOOLEAN FASTCALL co_MsqDispatchOneSentMessage(PUSER_MESSAGE_QUEUE MessageQueue) { @@ -505,10 +469,13 @@ RemoveEntryList(&Message->ListEntry); /* remove the message from the dispatching list if needed, so lock the sender's message queue */ - if (Message->DispatchingListEntry.Flink != NULL) - { - RemoveEntryList(&Message->DispatchingListEntry); - Message->DispatchingListEntry.Flink = NULL; + if (!(Message->HookMessage & MSQ_SENTNOWAIT)) + { + if (Message->DispatchingListEntry.Flink != NULL) + { + /* only remove it from the dispatching list if not already removed by a timeout */ + RemoveEntryList(&Message->DispatchingListEntry); + } } /* still keep the sender's message queue locked, so the sender can't exit the MsqSendMessage() function (if timed out) */ @@ -524,11 +491,16 @@ *Message->Result = Result; } + if (Message->HasPackedLParam == TRUE) + { + if (Message->Msg.lParam) + ExFreePool((PVOID)Message->Msg.lParam); + } + /* Notify the sender. */ if (Message->CompletionEvent != NULL) { KeSetEvent(Message->CompletionEvent, IO_NO_INCREMENT, FALSE); - Message->CompletionEvent = NULL; /* prevent MsqDestroySentMessage from setting this event again */ } /* Call the callback if the message was sent with SendMessageCallback */ @@ -541,7 +513,15 @@ Result); } - MsqDestroySentMessage(MessageQueue, Message); + /* Only if it is not a no wait message */ + if (!(Message->HookMessage & MSQ_SENTNOWAIT)) + { + IntDereferenceMessageQueue(Message->SenderQueue); + IntDereferenceMessageQueue(MessageQueue); + } + + /* free the message */ + ExFreePoolWithTag(Message, TAG_USRMSG); /* do not hangup on the user if this is reentering */ if (!SaveMsg) pti->pcti->CTI_flags &= ~CTI_INSENDMESSAGE; @@ -571,14 +551,16 @@ { PostedMessage = CONTAINING_RECORD(CurrentEntry, USER_MESSAGE, ListEntry); - /* set CurrentEntry to next before destroying message */ - CurrentEntry = CurrentEntry->Flink; - if (PostedMessage->Msg.hwnd == Window->head.h) { RemoveEntryList(&PostedMessage->ListEntry); ClearMsgBitsMask(MessageQueue, PostedMessage->QS_Flags); MsqDestroyMessage(PostedMessage); + CurrentEntry = MessageQueue->PostedMessagesListHead.Flink; + } + else + { + CurrentEntry = CurrentEntry->Flink; } } @@ -589,9 +571,6 @@ { SentMessage = CONTAINING_RECORD(CurrentEntry, USER_SENT_MESSAGE, ListEntry); - /* set CurrentEntry to next before destroying message */ - CurrentEntry = CurrentEntry->Flink; - if(SentMessage->Msg.hwnd == Window->head.h) { DPRINT("Notify the sender and remove a message from the queue that had not been dispatched\n"); @@ -599,7 +578,41 @@ RemoveEntryList(&SentMessage->ListEntry); ClearMsgBitsMask(MessageQueue, SentMessage->QS_Flags); - MsqDestroySentMessage(MessageQueue, SentMessage); + /* remove the message from the dispatching list if neede */ + if ((!(SentMessage->HookMessage & MSQ_SENTNOWAIT)) + && (SentMessage->DispatchingListEntry.Flink != NULL)) + { + RemoveEntryList(&SentMessage->DispatchingListEntry); + } + + /* wake the sender's thread */ + if (SentMessage->CompletionEvent != NULL) + { + KeSetEvent(SentMessage->CompletionEvent, IO_NO_INCREMENT, FALSE); + } + + if (SentMessage->HasPackedLParam == TRUE) + { + if (SentMessage->Msg.lParam) + ExFreePool((PVOID)SentMessage->Msg.lParam); + } + + /* Only if it is not a no wait message */ + if (!(SentMessage->HookMessage & MSQ_SENTNOWAIT)) + { + /* dereference our and the sender's message queue */ + IntDereferenceMessageQueue(MessageQueue); + IntDereferenceMessageQueue(SentMessage->SenderQueue); + } + + /* free the message */ + ExFreePoolWithTag(SentMessage, TAG_USRMSG); + + CurrentEntry = MessageQueue->SentMessagesListHead.Flink; + } + else + { + CurrentEntry = CurrentEntry->Flink; } } } @@ -633,7 +646,7 @@ Timeout.QuadPart = (LONGLONG) uTimeout * (LONGLONG) -10000; - /* FIXME - increase reference counter of sender's message queue here - isn't it done? */ + /* FIXME - increase reference counter of sender's message queue here */ Message->Msg.hwnd = Wnd; Message->Msg.message = Msg; @@ -643,9 +656,9 @@ Message->Result = &Result; Message->lResult = 0; Message->QS_Flags = 0; - IntReferenceMessageQueue(ThreadQueue); Message->SenderQueue = ThreadQueue; Message->CallBackSenderQueue = NULL; + IntReferenceMessageQueue(ThreadQueue); Message->CompletionCallback = NULL; Message->CompletionCallbackContext = 0; Message->HookMessage = HookMessage; @@ -1414,7 +1427,35 @@ DPRINT("Notify the sender and remove a message from the queue that had not been dispatched\n"); - MsqDestroySentMessage(MessageQueue, CurrentSentMessage); + /* remove the message from the dispatching list if needed */ + if ((!(CurrentSentMessage->HookMessage & MSQ_SENTNOWAIT)) + && (CurrentSentMessage->DispatchingListEntry.Flink != NULL)) + { + RemoveEntryList(&CurrentSentMessage->DispatchingListEntry); + } + + /* wake the sender's thread */ + if (CurrentSentMessage->CompletionEvent != NULL) + { + KeSetEvent(CurrentSentMessage->CompletionEvent, IO_NO_INCREMENT, FALSE); + } + + if (CurrentSentMessage->HasPackedLParam == TRUE) + { + if (CurrentSentMessage->Msg.lParam) + ExFreePool((PVOID)CurrentSentMessage->Msg.lParam); + } + + /* Only if it is not a no wait message */ + if (!(CurrentSentMessage->HookMessage & MSQ_SENTNOWAIT)) + { + /* dereference our and the sender's message queue */ + IntDereferenceMessageQueue(MessageQueue); + IntDereferenceMessageQueue(CurrentSentMessage->SenderQueue); + } + + /* free the message */ + ExFreePool(CurrentSentMessage); } /* notify senders of dispatching messages. This needs to be cleaned up if e.g. @@ -1425,9 +1466,36 @@ CurrentSentMessage = CONTAINING_RECORD(CurrentEntry, USER_SENT_MESSAGE, ListEntry); + /* remove the message from the dispatching list */ + if(CurrentSentMessage->DispatchingListEntry.Flink != NULL) + { + RemoveEntryList(&CurrentSentMessage->DispatchingListEntry); + } + DPRINT("Notify the sender, the thread has been terminated while dispatching a message!\n"); - MsqDestroySentMessage(MessageQueue, CurrentSentMessage); + /* wake the sender's thread */ + if (CurrentSentMessage->CompletionEvent != NULL) + { + KeSetEvent(CurrentSentMessage->CompletionEvent, IO_NO_INCREMENT, FALSE); + } + + if (CurrentSentMessage->HasPackedLParam == TRUE) + { + if (CurrentSentMessage->Msg.lParam) + ExFreePool((PVOID)CurrentSentMessage->Msg.lParam); + } + + /* Only if it is not a no wait message */ + if (!(CurrentSentMessage->HookMessage & MSQ_SENTNOWAIT)) + { + /* dereference our and the sender's message queue */ + IntDereferenceMessageQueue(MessageQueue); + IntDereferenceMessageQueue(CurrentSentMessage->SenderQueue); + } + + /* free the message */ + ExFreePool(CurrentSentMessage); } /* tell other threads not to bother returning any info to us */ @@ -1438,7 +1506,6 @@ DispatchingListEntry); CurrentSentMessage->CompletionEvent = NULL; CurrentSentMessage->Result = NULL; - CurrentSentMessage->DispatchingListEntry.Flink = NULL; // yeah! /* do NOT dereference our message queue as it might get attempted to be locked later */
13 years, 9 months
1
0
0
0
[cfinck] 51049: Merge r51046-r51048
by cfinck@svn.reactos.org
Author: cfinck Date: Mon Mar 14 14:58:36 2011 New Revision: 51049 URL:
http://svn.reactos.org/svn/reactos?rev=51049&view=rev
Log: Merge r51046-r51048 Added: branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/mirc6.txt - copied unchanged from r51048, trunk/reactos/base/applications/rapps/rapps/mirc6.txt branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/sumatrapdf.txt - copied unchanged from r51048, trunk/reactos/base/applications/rapps/rapps/sumatrapdf.txt Modified: branches/ros-branch-0_3_13/reactos/ (props changed) branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/7zip.txt (contents, props changed) branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/abiword.txt (contents, props changed) branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/abiword28x.txt (contents, props changed) branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/abyss.txt (contents, props changed) branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/ac97forvirtualbox.txt (contents, props changed) branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/audiograbber.txt (contents, props changed) branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/comctl32ocx.txt (contents, props changed) branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/diablo2.txt (contents, props changed) branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/dosblaster.txt (contents, props changed) branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/dosbox.txt (contents, props changed) branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/fap.txt (contents, props changed) branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/firefox2.txt (contents, props changed) branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/firefox3.txt (contents, props changed) branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/firefox36.txt (contents, props changed) branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/freebasic.txt (contents, props changed) branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/glidewrapzbag.txt (contents, props changed) branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/go-oo.txt (contents, props changed) branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/irfanview.txt (contents, props changed) branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/irfanviewplugins.txt (contents, props changed) branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/kdewin.txt (contents, props changed) branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/lbreakout2.txt (contents, props changed) branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/lgeneral.txt (contents, props changed) branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/libreoffice.txt (contents, props changed) branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/lmarbles.txt (contents, props changed) branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/mfc40.txt (contents, props changed) branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/mingw.txt (contents, props changed) branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/mirandaim.txt (contents, props changed) branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/mirc.txt (contents, props changed) branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/mono2.txt (contents, props changed) branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/mpc.txt (contents, props changed) branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/msxml3.txt (contents, props changed) branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/net11.txt (contents, props changed) branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/net20.txt (contents, props changed) branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/net20sp2.txt (contents, props changed) branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/offbyone.txt (contents, props changed) branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/openoffice2.4.txt (contents, props changed) branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/openoffice3.0.txt (contents, props changed) branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/openttd.txt (contents, props changed) branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/opera.txt (contents, props changed) branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/opera9.txt (contents, props changed) branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/putty.txt (contents, props changed) branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/python.txt (contents, props changed) branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/remood.txt (contents, props changed) branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/rosbe.txt (contents, props changed) branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/rosbeamd64.txt (contents, props changed) branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/rosbearm.txt (contents, props changed) branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/sambatng.txt (contents, props changed) branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/sbforvmware.txt (contents, props changed) branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/scite.txt (contents, props changed) branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/scummvm.txt (contents, props changed) branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/sdl_mixer.txt (contents, props changed) branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/sdl_runtime.txt (contents, props changed) branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/seamonkey.txt (contents, props changed) branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/smplayer.txt (contents, props changed) branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/steam.txt (contents, props changed) branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/superfinder.txt (contents, props changed) branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/tahoma.txt (contents, props changed) branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/thunderbird.txt (contents, props changed) branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/tileworld.txt (contents, props changed) branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/tuxpaint.txt (contents, props changed) branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/ultravnc.txt (contents, props changed) branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/utorrent.txt (contents, props changed) branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/vb5run.txt (contents, props changed) branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/vb6run.txt (contents, props changed) branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/vc2005run.txt (contents, props changed) branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/vc2005sp1run.txt (contents, props changed) branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/vc2008run.txt (contents, props changed) branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/vc2008sp1run.txt (contents, props changed) branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/vc6run.txt (contents, props changed) branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/vlc.txt (contents, props changed) branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/winboard.txt (contents, props changed) branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/wme9.txt (contents, props changed) branches/ros-branch-0_3_13/reactos/dll/win32/msafd/misc/dllmain.c branches/ros-branch-0_3_13/reactos/dll/win32/msafd/msafd.h [This mail would be too long, it was shortened to contain the URLs only.] Modified: branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/7zip.txt URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_3_13/reactos/base/…
Modified: branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/abiword.txt URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_3_13/reactos/base/…
Modified: branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/abiword28x.txt URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_3_13/reactos/base/…
Modified: branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/abyss.txt URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_3_13/reactos/base/…
Modified: branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/ac97forvirtualbox.txt URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_3_13/reactos/base/…
Modified: branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/audiograbber.txt URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_3_13/reactos/base/…
Modified: branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/comctl32ocx.txt URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_3_13/reactos/base/…
Modified: branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/diablo2.txt URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_3_13/reactos/base/…
Modified: branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/dosblaster.txt URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_3_13/reactos/base/…
Modified: branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/dosbox.txt URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_3_13/reactos/base/…
Modified: branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/fap.txt URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_3_13/reactos/base/…
Modified: branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/firefox2.txt URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_3_13/reactos/base/…
Modified: branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/firefox3.txt URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_3_13/reactos/base/…
Modified: branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/firefox36.txt URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_3_13/reactos/base/…
Modified: branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/freebasic.txt URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_3_13/reactos/base/…
Modified: branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/glidewrapzbag.txt URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_3_13/reactos/base/…
Modified: branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/go-oo.txt URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_3_13/reactos/base/…
Modified: branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/irfanview.txt URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_3_13/reactos/base/…
Modified: branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/irfanviewplugins.txt URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_3_13/reactos/base/…
Modified: branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/kdewin.txt URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_3_13/reactos/base/…
Modified: branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/lbreakout2.txt URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_3_13/reactos/base/…
Modified: branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/lgeneral.txt URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_3_13/reactos/base/…
Modified: branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/libreoffice.txt URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_3_13/reactos/base/…
Modified: branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/lmarbles.txt URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_3_13/reactos/base/…
Modified: branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/mfc40.txt URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_3_13/reactos/base/…
Modified: branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/mingw.txt URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_3_13/reactos/base/…
Modified: branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/mirandaim.txt URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_3_13/reactos/base/…
Modified: branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/mirc.txt URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_3_13/reactos/base/…
Modified: branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/mono2.txt URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_3_13/reactos/base/…
Modified: branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/mpc.txt URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_3_13/reactos/base/…
Modified: branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/msxml3.txt URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_3_13/reactos/base/…
Modified: branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/net11.txt URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_3_13/reactos/base/…
Modified: branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/net20.txt URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_3_13/reactos/base/…
Modified: branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/net20sp2.txt URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_3_13/reactos/base/…
Modified: branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/offbyone.txt URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_3_13/reactos/base/…
Modified: branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/openoffice2.4.txt URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_3_13/reactos/base/…
Modified: branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/openoffice3.0.txt URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_3_13/reactos/base/…
Modified: branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/openttd.txt URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_3_13/reactos/base/…
Modified: branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/opera.txt URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_3_13/reactos/base/…
Modified: branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/opera9.txt URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_3_13/reactos/base/…
Modified: branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/putty.txt URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_3_13/reactos/base/…
Modified: branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/python.txt URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_3_13/reactos/base/…
Modified: branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/remood.txt URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_3_13/reactos/base/…
Modified: branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/rosbe.txt URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_3_13/reactos/base/…
Modified: branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/rosbeamd64.txt URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_3_13/reactos/base/…
Modified: branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/rosbearm.txt URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_3_13/reactos/base/…
Modified: branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/sambatng.txt URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_3_13/reactos/base/…
Modified: branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/sbforvmware.txt URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_3_13/reactos/base/…
Modified: branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/scite.txt URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_3_13/reactos/base/…
Modified: branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/scummvm.txt URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_3_13/reactos/base/…
Modified: branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/sdl_mixer.txt URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_3_13/reactos/base/…
Modified: branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/sdl_runtime.txt URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_3_13/reactos/base/…
Modified: branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/seamonkey.txt URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_3_13/reactos/base/…
Modified: branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/smplayer.txt URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_3_13/reactos/base/…
Modified: branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/steam.txt URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_3_13/reactos/base/…
Modified: branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/superfinder.txt URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_3_13/reactos/base/…
Modified: branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/tahoma.txt URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_3_13/reactos/base/…
Modified: branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/thunderbird.txt URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_3_13/reactos/base/…
Modified: branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/tileworld.txt URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_3_13/reactos/base/…
Modified: branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/tuxpaint.txt URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_3_13/reactos/base/…
Modified: branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/ultravnc.txt URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_3_13/reactos/base/…
Modified: branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/utorrent.txt URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_3_13/reactos/base/…
Modified: branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/vb5run.txt URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_3_13/reactos/base/…
Modified: branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/vb6run.txt URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_3_13/reactos/base/…
Modified: branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/vc2005run.txt URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_3_13/reactos/base/…
Modified: branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/vc2005sp1run.txt URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_3_13/reactos/base/…
Modified: branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/vc2008run.txt URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_3_13/reactos/base/…
Modified: branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/vc2008sp1run.txt URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_3_13/reactos/base/…
Modified: branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/vc6run.txt URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_3_13/reactos/base/…
Modified: branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/vlc.txt URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_3_13/reactos/base/…
Modified: branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/winboard.txt URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_3_13/reactos/base/…
Modified: branches/ros-branch-0_3_13/reactos/base/applications/rapps/rapps/wme9.txt URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_3_13/reactos/base/…
Modified: branches/ros-branch-0_3_13/reactos/dll/win32/msafd/misc/dllmain.c URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_3_13/reactos/dll/w…
Modified: branches/ros-branch-0_3_13/reactos/dll/win32/msafd/msafd.h URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_3_13/reactos/dll/w…
13 years, 9 months
1
0
0
0
[cfinck] 51048: [RAPPS] - Add a "mIRC 6" entry to have a working IRC client while keeping "mIRC 7" for testing. (see bug 6005) Keep in mind that the automatically downloaded app database is the sam...
by cfinck@svn.reactos.org
Author: cfinck Date: Mon Mar 14 14:31:19 2011 New Revision: 51048 URL:
http://svn.reactos.org/svn/reactos?rev=51048&view=rev
Log: [RAPPS] - Add a "mIRC 6" entry to have a working IRC client while keeping "mIRC 7" for testing. (see bug 6005) Keep in mind that the automatically downloaded app database is the same for previous releases, current releases and Trunk, so just changing the version for the release wouldn't have been a solution. - Add SumatraPDF 1.2 (working) to the app database. Patch by Vincenzo Cotugno (vins820 at hotmail dot com), German translation by me. - Change all .txt files to svn:eol-style CRLF, these are target files which should have Windows line-endings. Added: trunk/reactos/base/applications/rapps/rapps/mirc6.txt (with props) trunk/reactos/base/applications/rapps/rapps/sumatrapdf.txt (with props) Modified: trunk/reactos/base/applications/rapps/rapps/7zip.txt (contents, props changed) trunk/reactos/base/applications/rapps/rapps/abiword.txt (contents, props changed) trunk/reactos/base/applications/rapps/rapps/abiword28x.txt (contents, props changed) trunk/reactos/base/applications/rapps/rapps/abyss.txt (contents, props changed) trunk/reactos/base/applications/rapps/rapps/ac97forvirtualbox.txt (contents, props changed) trunk/reactos/base/applications/rapps/rapps/audiograbber.txt (contents, props changed) trunk/reactos/base/applications/rapps/rapps/comctl32ocx.txt (contents, props changed) trunk/reactos/base/applications/rapps/rapps/diablo2.txt (contents, props changed) trunk/reactos/base/applications/rapps/rapps/dosblaster.txt (contents, props changed) trunk/reactos/base/applications/rapps/rapps/dosbox.txt (contents, props changed) trunk/reactos/base/applications/rapps/rapps/fap.txt (contents, props changed) trunk/reactos/base/applications/rapps/rapps/firefox2.txt (contents, props changed) trunk/reactos/base/applications/rapps/rapps/firefox3.txt (contents, props changed) trunk/reactos/base/applications/rapps/rapps/firefox36.txt (contents, props changed) trunk/reactos/base/applications/rapps/rapps/freebasic.txt (contents, props changed) trunk/reactos/base/applications/rapps/rapps/glidewrapzbag.txt (contents, props changed) trunk/reactos/base/applications/rapps/rapps/go-oo.txt (contents, props changed) trunk/reactos/base/applications/rapps/rapps/irfanview.txt (contents, props changed) trunk/reactos/base/applications/rapps/rapps/irfanviewplugins.txt (contents, props changed) trunk/reactos/base/applications/rapps/rapps/kdewin.txt (contents, props changed) trunk/reactos/base/applications/rapps/rapps/lbreakout2.txt (contents, props changed) trunk/reactos/base/applications/rapps/rapps/lgeneral.txt (contents, props changed) trunk/reactos/base/applications/rapps/rapps/libreoffice.txt (contents, props changed) trunk/reactos/base/applications/rapps/rapps/lmarbles.txt (contents, props changed) trunk/reactos/base/applications/rapps/rapps/mfc40.txt (contents, props changed) trunk/reactos/base/applications/rapps/rapps/mingw.txt (contents, props changed) trunk/reactos/base/applications/rapps/rapps/mirandaim.txt (contents, props changed) trunk/reactos/base/applications/rapps/rapps/mirc.txt (contents, props changed) trunk/reactos/base/applications/rapps/rapps/mono2.txt (contents, props changed) trunk/reactos/base/applications/rapps/rapps/mpc.txt (contents, props changed) trunk/reactos/base/applications/rapps/rapps/msxml3.txt (contents, props changed) trunk/reactos/base/applications/rapps/rapps/net11.txt (contents, props changed) trunk/reactos/base/applications/rapps/rapps/net20.txt (contents, props changed) trunk/reactos/base/applications/rapps/rapps/net20sp2.txt (contents, props changed) trunk/reactos/base/applications/rapps/rapps/offbyone.txt (contents, props changed) trunk/reactos/base/applications/rapps/rapps/openoffice2.4.txt (contents, props changed) trunk/reactos/base/applications/rapps/rapps/openoffice3.0.txt (contents, props changed) trunk/reactos/base/applications/rapps/rapps/openttd.txt (contents, props changed) trunk/reactos/base/applications/rapps/rapps/opera.txt (contents, props changed) trunk/reactos/base/applications/rapps/rapps/opera9.txt (contents, props changed) trunk/reactos/base/applications/rapps/rapps/putty.txt (contents, props changed) trunk/reactos/base/applications/rapps/rapps/python.txt (contents, props changed) trunk/reactos/base/applications/rapps/rapps/remood.txt (contents, props changed) trunk/reactos/base/applications/rapps/rapps/rosbe.txt (contents, props changed) trunk/reactos/base/applications/rapps/rapps/rosbeamd64.txt (contents, props changed) trunk/reactos/base/applications/rapps/rapps/rosbearm.txt (contents, props changed) trunk/reactos/base/applications/rapps/rapps/sambatng.txt (contents, props changed) trunk/reactos/base/applications/rapps/rapps/sbforvmware.txt (contents, props changed) trunk/reactos/base/applications/rapps/rapps/scite.txt (contents, props changed) trunk/reactos/base/applications/rapps/rapps/scummvm.txt (contents, props changed) trunk/reactos/base/applications/rapps/rapps/sdl_mixer.txt (contents, props changed) trunk/reactos/base/applications/rapps/rapps/sdl_runtime.txt (contents, props changed) trunk/reactos/base/applications/rapps/rapps/seamonkey.txt (contents, props changed) trunk/reactos/base/applications/rapps/rapps/smplayer.txt (contents, props changed) trunk/reactos/base/applications/rapps/rapps/steam.txt (contents, props changed) trunk/reactos/base/applications/rapps/rapps/superfinder.txt (contents, props changed) trunk/reactos/base/applications/rapps/rapps/tahoma.txt (contents, props changed) trunk/reactos/base/applications/rapps/rapps/thunderbird.txt (contents, props changed) trunk/reactos/base/applications/rapps/rapps/tileworld.txt (contents, props changed) trunk/reactos/base/applications/rapps/rapps/tuxpaint.txt (contents, props changed) trunk/reactos/base/applications/rapps/rapps/ultravnc.txt (contents, props changed) trunk/reactos/base/applications/rapps/rapps/utorrent.txt (contents, props changed) trunk/reactos/base/applications/rapps/rapps/vb5run.txt (contents, props changed) trunk/reactos/base/applications/rapps/rapps/vb6run.txt (contents, props changed) trunk/reactos/base/applications/rapps/rapps/vc2005run.txt (contents, props changed) trunk/reactos/base/applications/rapps/rapps/vc2005sp1run.txt (contents, props changed) trunk/reactos/base/applications/rapps/rapps/vc2008run.txt (contents, props changed) trunk/reactos/base/applications/rapps/rapps/vc2008sp1run.txt (contents, props changed) trunk/reactos/base/applications/rapps/rapps/vc6run.txt (contents, props changed) trunk/reactos/base/applications/rapps/rapps/vlc.txt (contents, props changed) trunk/reactos/base/applications/rapps/rapps/winboard.txt (contents, props changed) trunk/reactos/base/applications/rapps/rapps/wme9.txt (contents, props changed) [This mail would be too long, it was shortened to contain the URLs only.] Modified: trunk/reactos/base/applications/rapps/rapps/7zip.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
Modified: trunk/reactos/base/applications/rapps/rapps/abiword.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
Modified: trunk/reactos/base/applications/rapps/rapps/abiword28x.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
Modified: trunk/reactos/base/applications/rapps/rapps/abyss.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
Modified: trunk/reactos/base/applications/rapps/rapps/ac97forvirtualbox.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
Modified: trunk/reactos/base/applications/rapps/rapps/audiograbber.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
Modified: trunk/reactos/base/applications/rapps/rapps/comctl32ocx.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
Modified: trunk/reactos/base/applications/rapps/rapps/diablo2.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
Modified: trunk/reactos/base/applications/rapps/rapps/dosblaster.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
Modified: trunk/reactos/base/applications/rapps/rapps/dosbox.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
Modified: trunk/reactos/base/applications/rapps/rapps/fap.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
Modified: trunk/reactos/base/applications/rapps/rapps/firefox2.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
Modified: trunk/reactos/base/applications/rapps/rapps/firefox3.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
Modified: trunk/reactos/base/applications/rapps/rapps/firefox36.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
Modified: trunk/reactos/base/applications/rapps/rapps/freebasic.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
Modified: trunk/reactos/base/applications/rapps/rapps/glidewrapzbag.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
Modified: trunk/reactos/base/applications/rapps/rapps/go-oo.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
Modified: trunk/reactos/base/applications/rapps/rapps/irfanview.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
Modified: trunk/reactos/base/applications/rapps/rapps/irfanviewplugins.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
Modified: trunk/reactos/base/applications/rapps/rapps/kdewin.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
Modified: trunk/reactos/base/applications/rapps/rapps/lbreakout2.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
Modified: trunk/reactos/base/applications/rapps/rapps/lgeneral.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
Modified: trunk/reactos/base/applications/rapps/rapps/libreoffice.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
Modified: trunk/reactos/base/applications/rapps/rapps/lmarbles.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
Modified: trunk/reactos/base/applications/rapps/rapps/mfc40.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
Modified: trunk/reactos/base/applications/rapps/rapps/mingw.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
Modified: trunk/reactos/base/applications/rapps/rapps/mirandaim.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
Modified: trunk/reactos/base/applications/rapps/rapps/mirc.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
Added: trunk/reactos/base/applications/rapps/rapps/mirc6.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
Modified: trunk/reactos/base/applications/rapps/rapps/mono2.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
Modified: trunk/reactos/base/applications/rapps/rapps/mpc.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
Modified: trunk/reactos/base/applications/rapps/rapps/msxml3.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
Modified: trunk/reactos/base/applications/rapps/rapps/net11.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
Modified: trunk/reactos/base/applications/rapps/rapps/net20.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
Modified: trunk/reactos/base/applications/rapps/rapps/net20sp2.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
Modified: trunk/reactos/base/applications/rapps/rapps/offbyone.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
Modified: trunk/reactos/base/applications/rapps/rapps/openoffice2.4.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
Modified: trunk/reactos/base/applications/rapps/rapps/openoffice3.0.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
Modified: trunk/reactos/base/applications/rapps/rapps/openttd.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
Modified: trunk/reactos/base/applications/rapps/rapps/opera.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
Modified: trunk/reactos/base/applications/rapps/rapps/opera9.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
Modified: trunk/reactos/base/applications/rapps/rapps/putty.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
Modified: trunk/reactos/base/applications/rapps/rapps/python.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
Modified: trunk/reactos/base/applications/rapps/rapps/remood.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
Modified: trunk/reactos/base/applications/rapps/rapps/rosbe.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
Modified: trunk/reactos/base/applications/rapps/rapps/rosbeamd64.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
Modified: trunk/reactos/base/applications/rapps/rapps/rosbearm.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
Modified: trunk/reactos/base/applications/rapps/rapps/sambatng.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
Modified: trunk/reactos/base/applications/rapps/rapps/sbforvmware.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
Modified: trunk/reactos/base/applications/rapps/rapps/scite.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
Modified: trunk/reactos/base/applications/rapps/rapps/scummvm.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
Modified: trunk/reactos/base/applications/rapps/rapps/sdl_mixer.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
Modified: trunk/reactos/base/applications/rapps/rapps/sdl_runtime.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
Modified: trunk/reactos/base/applications/rapps/rapps/seamonkey.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
Modified: trunk/reactos/base/applications/rapps/rapps/smplayer.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
Modified: trunk/reactos/base/applications/rapps/rapps/steam.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
Added: trunk/reactos/base/applications/rapps/rapps/sumatrapdf.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
Modified: trunk/reactos/base/applications/rapps/rapps/superfinder.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
Modified: trunk/reactos/base/applications/rapps/rapps/tahoma.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
Modified: trunk/reactos/base/applications/rapps/rapps/thunderbird.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
Modified: trunk/reactos/base/applications/rapps/rapps/tileworld.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
Modified: trunk/reactos/base/applications/rapps/rapps/tuxpaint.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
Modified: trunk/reactos/base/applications/rapps/rapps/ultravnc.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
Modified: trunk/reactos/base/applications/rapps/rapps/utorrent.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
Modified: trunk/reactos/base/applications/rapps/rapps/vb5run.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
Modified: trunk/reactos/base/applications/rapps/rapps/vb6run.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
Modified: trunk/reactos/base/applications/rapps/rapps/vc2005run.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
Modified: trunk/reactos/base/applications/rapps/rapps/vc2005sp1run.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
Modified: trunk/reactos/base/applications/rapps/rapps/vc2008run.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
Modified: trunk/reactos/base/applications/rapps/rapps/vc2008sp1run.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
Modified: trunk/reactos/base/applications/rapps/rapps/vc6run.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
Modified: trunk/reactos/base/applications/rapps/rapps/vlc.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
Modified: trunk/reactos/base/applications/rapps/rapps/winboard.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
Modified: trunk/reactos/base/applications/rapps/rapps/wme9.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
13 years, 9 months
1
0
0
0
[janderwald] 51047: [MSAFD] - Print the caller in MsafdReturnWithErrno - Initialize SockAsyncCompletionPort handle - Check if the creation of the completion port failed - Defer free of the socket i...
by janderwald@svn.reactos.org
Author: janderwald Date: Mon Mar 14 12:48:28 2011 New Revision: 51047 URL:
http://svn.reactos.org/svn/reactos?rev=51047&view=rev
Log: [MSAFD] - Print the caller in MsafdReturnWithErrno - Initialize SockAsyncCompletionPort handle - Check if the creation of the completion port failed - Defer free of the socket information struct until the socket handle has been closed because the socket may have a pending select. When the socket is closed, the pending select is canceled, thus a apc routine is invoked which access the freed socket information struct. - Fixes mIRC crash - Should be merged to 0.3.13 branch Modified: trunk/reactos/dll/win32/msafd/misc/dllmain.c trunk/reactos/dll/win32/msafd/msafd.h Modified: trunk/reactos/dll/win32/msafd/misc/dllmain.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/msafd/misc/dllma…
============================================================================== --- trunk/reactos/dll/win32/msafd/misc/dllmain.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/msafd/misc/dllmain.c [iso-8859-1] Mon Mar 14 12:48:28 2011 @@ -27,7 +27,7 @@ LIST_ENTRY SockHelpersListHead = { NULL, NULL }; ULONG SockAsyncThreadRefCount; HANDLE SockAsyncHelperAfdHandle; -HANDLE SockAsyncCompletionPort; +HANDLE SockAsyncCompletionPort = NULL; BOOLEAN SockAsyncSelectCalled; @@ -562,12 +562,11 @@ } LeaveCriticalSection(&SocketListLock); - HeapFree(GlobalHeap, 0, Socket); - /* Close the handle */ NtClose((HANDLE)Handle); NtClose(SockEvent); + HeapFree(GlobalHeap, 0, Socket); return MsafdReturnWithErrno(Status, lpErrno, 0, NULL); } @@ -2420,6 +2419,7 @@ /* Check if the Thread Already Exists */ if (SockAsyncThreadRefCount) { + ASSERT(SockAsyncCompletionPort); return TRUE; } @@ -2430,7 +2430,11 @@ IO_COMPLETION_ALL_ACCESS, NULL, 2); // Allow 2 threads only - + if (!NT_SUCCESS(Status)) + { + AFD_DbgPrint(MID_TRACE,("Failed to create completion port\n")); + return FALSE; + } /* Protect Handle */ HandleFlags.ProtectFromClose = TRUE; HandleFlags.Inherit = FALSE; Modified: trunk/reactos/dll/win32/msafd/msafd.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/msafd/msafd.h?re…
============================================================================== --- trunk/reactos/dll/win32/msafd/msafd.h [iso-8859-1] (original) +++ trunk/reactos/dll/win32/msafd/msafd.h [iso-8859-1] Mon Mar 14 12:48:28 2011 @@ -488,7 +488,7 @@ } else { - DbgPrint("%s: Received invalid lpErrno pointer!\n", __FUNCTION__); + DbgPrint("%s: Received invalid lpErrno pointer! %s\n", __FUNCTION__); if (ReturnedBytes) *ReturnedBytes = (Status == STATUS_SUCCESS) ? Received : 0;
13 years, 9 months
1
0
0
0
← Newer
1
...
14
15
16
17
18
19
20
...
28
Older →
Jump to page:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Results per page:
10
25
50
100
200