Set low-order bit of module handle for LOAD_LIBRARY_AS_DATAFILE.
Cleaned up a few HMODULE/HMODULE16 mismatches.

diff --git a/scheduler/process.c b/scheduler/process.c
index 74e2f3e..3f8b12f 100644
--- a/scheduler/process.c
+++ b/scheduler/process.c
@@ -180,12 +180,14 @@
  * USIG_FLAGS_FAULT
  *     The signal is being sent due to a fault.
  */
-void PROCESS_CallUserSignalProc( UINT uCode, HMODULE hModule )
+void PROCESS_CallUserSignalProc( UINT uCode, HMODULE16 hModule )
 {
     DWORD flags = current_process.flags;
     DWORD startup_flags = current_startupinfo.dwFlags;
     DWORD dwFlags = 0;
 
+    if (!Callout.UserSignalProc) return;
+
     /* Determine dwFlags */
 
     if ( !(flags & PDB32_WIN16_PROC) ) dwFlags |= USIG_FLAGS_WIN32;
@@ -205,20 +207,12 @@
             dwFlags |= USIG_FLAGS_FEEDBACK;
     }
 
-    /* Convert module handle to 16-bit */
-
-    if ( HIWORD( hModule ) )
-        hModule = MapHModuleLS( hModule );
-
     /* Call USER signal proc */
 
-    if ( Callout.UserSignalProc )
-    {
-        if ( uCode == USIG_THREAD_INIT || uCode == USIG_THREAD_EXIT )
-            Callout.UserSignalProc( uCode, GetCurrentThreadId(), dwFlags, hModule );
-        else
-            Callout.UserSignalProc( uCode, GetCurrentProcessId(), dwFlags, hModule );
-    }
+    if ( uCode == USIG_THREAD_INIT || uCode == USIG_THREAD_EXIT )
+        Callout.UserSignalProc( uCode, GetCurrentThreadId(), dwFlags, hModule );
+    else
+        Callout.UserSignalProc( uCode, GetCurrentProcessId(), dwFlags, hModule );
 }