Alexandre Julliard : We no longer need to handle EXCEPTION_PRIV_INSTRUCTION on page faults.

Alexandre Julliard julliard at wine.codeweavers.com
Sat Dec 17 05:37:45 CST 2005


Module: wine
Branch: refs/heads/master
Commit: db7920bb44652245b82aba0c805aaa90eabf66f3
URL:    http://source.winehq.org/git/?p=wine.git;a=commit;h=db7920bb44652245b82aba0c805aaa90eabf66f3

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Fri Dec 16 16:37:12 2005 +0100

We no longer need to handle EXCEPTION_PRIV_INSTRUCTION on page faults.

---

 dlls/kernel/heap.c      |    3 ---
 dlls/kernel/ne_module.c |    3 +--
 dlls/kernel/resource.c  |    3 +--
 dlls/ntdll/resource.c   |    3 +--
 dlls/ole32/rpc.c        |    3 +--
 dlls/user/lstr.c        |    3 +--
 6 files changed, 5 insertions(+), 13 deletions(-)

diff --git a/dlls/kernel/heap.c b/dlls/kernel/heap.c
index b30e457..9bb2807 100644
--- a/dlls/kernel/heap.c
+++ b/dlls/kernel/heap.c
@@ -72,13 +72,10 @@ static HANDLE systemHeap;   /* globally 
 
 
 /* filter for page-fault exceptions */
-/* It is possible for a bogus global pointer to cause a */
-/* page zero reference, so I include EXCEPTION_PRIV_INSTRUCTION too. */
 static WINE_EXCEPTION_FILTER(page_fault)
 {
     switch (GetExceptionCode()) {
         case (EXCEPTION_ACCESS_VIOLATION):
-        case (EXCEPTION_PRIV_INSTRUCTION):
            return EXCEPTION_EXECUTE_HANDLER;
         default:
            return EXCEPTION_CONTINUE_SEARCH;
diff --git a/dlls/kernel/ne_module.c b/dlls/kernel/ne_module.c
index 4770587..c3572ae 100644
--- a/dlls/kernel/ne_module.c
+++ b/dlls/kernel/ne_module.c
@@ -92,8 +92,7 @@ static HMODULE16 NE_GetModuleByFilename(
 
 static WINE_EXCEPTION_FILTER(page_fault)
 {
-    if (GetExceptionCode() == EXCEPTION_ACCESS_VIOLATION ||
-        GetExceptionCode() == EXCEPTION_PRIV_INSTRUCTION)
+    if (GetExceptionCode() == EXCEPTION_ACCESS_VIOLATION)
         return EXCEPTION_EXECUTE_HANDLER;
     return EXCEPTION_CONTINUE_SEARCH;
 }
diff --git a/dlls/kernel/resource.c b/dlls/kernel/resource.c
index 7b91a2a..8964855 100644
--- a/dlls/kernel/resource.c
+++ b/dlls/kernel/resource.c
@@ -50,8 +50,7 @@ WINE_DEFAULT_DEBUG_CHANNEL(resource);
 
 static WINE_EXCEPTION_FILTER(page_fault)
 {
-    if (GetExceptionCode() == EXCEPTION_ACCESS_VIOLATION ||
-        GetExceptionCode() == EXCEPTION_PRIV_INSTRUCTION)
+    if (GetExceptionCode() == EXCEPTION_ACCESS_VIOLATION)
         return EXCEPTION_EXECUTE_HANDLER;
     return EXCEPTION_CONTINUE_SEARCH;
 }
diff --git a/dlls/ntdll/resource.c b/dlls/ntdll/resource.c
index 8694917..7426128 100644
--- a/dlls/ntdll/resource.c
+++ b/dlls/ntdll/resource.c
@@ -53,8 +53,7 @@ static LANGID user_ui_language, system_u
 
 static WINE_EXCEPTION_FILTER(page_fault)
 {
-    if (GetExceptionCode() == EXCEPTION_ACCESS_VIOLATION ||
-        GetExceptionCode() == EXCEPTION_PRIV_INSTRUCTION)
+    if (GetExceptionCode() == EXCEPTION_ACCESS_VIOLATION)
         return EXCEPTION_EXECUTE_HANDLER;
     return EXCEPTION_CONTINUE_SEARCH;
 }
diff --git a/dlls/ole32/rpc.c b/dlls/ole32/rpc.c
index d87b478..c57bab5 100644
--- a/dlls/ole32/rpc.c
+++ b/dlls/ole32/rpc.c
@@ -112,8 +112,7 @@ struct dispatch_params
 
 static WINE_EXCEPTION_FILTER(ole_filter)
 {
-    if (GetExceptionCode() == EXCEPTION_ACCESS_VIOLATION ||
-        GetExceptionCode() == EXCEPTION_PRIV_INSTRUCTION)
+    if (GetExceptionCode() == EXCEPTION_ACCESS_VIOLATION)
         return EXCEPTION_CONTINUE_SEARCH;
     return EXCEPTION_EXECUTE_HANDLER;
 }
diff --git a/dlls/user/lstr.c b/dlls/user/lstr.c
index 9a34738..bc9ad46 100644
--- a/dlls/user/lstr.c
+++ b/dlls/user/lstr.c
@@ -45,8 +45,7 @@ WINE_DEFAULT_DEBUG_CHANNEL(resource);
 /* filter for page-fault exceptions */
 static WINE_EXCEPTION_FILTER(page_fault)
 {
-    if (GetExceptionCode() == EXCEPTION_ACCESS_VIOLATION ||
-        GetExceptionCode() == EXCEPTION_PRIV_INSTRUCTION)
+    if (GetExceptionCode() == EXCEPTION_ACCESS_VIOLATION)
         return EXCEPTION_EXECUTE_HANDLER;
     return EXCEPTION_CONTINUE_SEARCH;
 }




More information about the wine-cvs mailing list