Commit 39d37a2c authored by sof's avatar sof
Browse files

[project @ 1999-09-16 08:29:01 by sof]

Move DllMain() into separate file + it doesn't call startupHaskell()
any longer upon loading of the DLL. That is the task of clients of
the RTS.
parent 7de73554
/* -----------------------------------------------------------------------------
* $Id: Main.c,v 1.10 1999/07/14 13:38:27 simonmar Exp $
* $Id: Main.c,v 1.11 1999/09/16 08:29:01 sof Exp $
*
* (c) The GHC Team 1998-1999
*
......@@ -35,8 +35,6 @@
#endif
#ifndef ENABLE_WIN32_DLL_SUPPORT
/* Hack: we assume that we're building a batch-mode system unless
* INTERPRETER is set
*/
......@@ -80,31 +78,3 @@ int main(int argc, char *argv[])
shutdownHaskellAndExit(EXIT_SUCCESS);
}
# endif /* BATCH_MODE */
#else /* !ENABLE_WIN32_DLL_SUPPORT */
static char* args[] = { "ghcRts" };
BOOL
WINAPI
DllMain ( HINSTANCE hInstance
, DWORD reason
, LPVOID reserved
)
{
/*
ToDo: let the user configure RTS options to use
via the registry.
*/
switch (reason) {
case DLL_PROCESS_ATTACH:
startupHaskell(1,args);
/* ToDo: gracefully handle startupHaskell() failures.. */
return TRUE;
case DLL_PROCESS_DETACH:
shutdownHaskell();
}
return TRUE;
}
#endif /* !ENABLE_WIN32_DLL_SUPPORT */
/* -----------------------------------------------------------------------------
* $Id: RtsDllMain.c,v 1.1 1999/09/16 08:29:01 sof Exp $
*
* (c) The GHC Team 1999-1900
*
* Entry point for RTS-in-a-DLL
*
* ---------------------------------------------------------------------------*/
#include "Rts.h"
#include "RtsAPI.h"
#ifdef HAVE_WINDOWS_H
#include <windows.h>
#endif
/* I'd be mildly surprised if this wasn't defined, but still. */
#ifdef ENABLE_WIN32_DLL_SUPPORT
BOOL
WINAPI
DllMain ( HINSTANCE hInstance
, DWORD reason
, LPVOID reserved
)
{
/*
* Note: the DllMain() doesn't call startupHaskell() for you,
* that is the task of users of the RTS. The reason is
* that *you* want to be able to control the arguments
* you pass to the RTS.
*/
switch (reason) {
case DLL_PROCESS_DETACH: shutdownHaskell();
}
return TRUE;
}
#endif /* ENABLE_WIN32_DLL_SUPPORT */
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment