Lisp HUG Maillist Archive

LW DLL question

Hi

I set up a DLL and linked it in a C++ application.

Now I cannot shut down the application.  This means that the LW DLL is 
"still running" and needs to be shut down, in order to exit completely 
from the C++ application.

What would be a correct course of action to achieve this?  I am not 
much of MS expert, and any help will be appreciated.

For more info, this is how the DELIVER call looks like


(deliver (lambda ()
                  (format t "XS-system trace analysis started.~%"))
                "xssysdll"
                0
                :image-type :dll
                :keep-pretty-printer t
                :dll-exports '("xssys_load_trace"
                               "xssys_parse_trace"
                               "xssys_start_user_interface"
                               "xssys_test_dll_call"
                               "xssys_analyze_this"
                               "xssys_query_on_trace_data")
                ;; :environment nil
                :quit-when-no-windows nil ; To make sure that the DLL
                                          ; does not bring down the
                                          ; calling application.
                :interface :capi
                :versioninfo (list :binary-version #x000000090000000B
                                   :version-string "XSSYS DLL version 
0.9B"
                                   :company-name "NYU Courant 
Bioinformatics Group"
                                   :product-name "XSSYS"
                                   :file-description
                                   (format nil
                                           "DLL of the XSSYS Reasoning 
System.~@
                                            Entry points:~@
                                            - xssys_analyze_this (char* 
query)~@
                                            - 
xssys_start_user_interface()~@
                                            - xssys_load_trace(char* 
filename)~@
                                            - xssys_parse_trace(char* 
trace)~2%")
                                   :legal-copyright
                                   (format nil "Copyright (c) 2002-2003 
Marco Antoniotti~@
                                                NYU Courant 
Bioinformatics Group~@
                                                All rights reserved.")
                                   )


--
Marco Antoniotti
NYU Courant Bioinformatics Group		tel. +1 - 212 - 998 3488
715 Broadway 10th FL				fax. +1 - 212 - 998 3484
New York, NY, 10003, U.S.A.


________________________________________________________________________
This email has been scanned for all viruses by the MessageLabs Email
Security System. For more information on a proactive email security
service working around the clock, around the globe, visit
http://www.messagelabs.com
________________________________________________________________________

Re: LW DLL question

Unable to parse email body. Email id is 1289

Re: LW DLL question

On Wednesday, Aug 13, 2003, at 04:10 America/New_York, Nick Levine 
wrote:

> Marco,
>
>    I set up a DLL and linked it in a C++ application.
>
>    Now I cannot shut down the application.  This means that the LW DLL
>    is "still running" and needs to be shut down, in order to exit
>    completely from the C++ application.
>
>    What would be a correct course of action to achieve this?  I am not
>    much of MS expert, and any help will be appreciated.
>
> I take it you mean that LW calls (quit) but that the enclosing
> application still limps on, or at least doesn't die gracefully.

Not really.  It is the other way around.


>
> Does the application need to perform any cleanups when it is shut
> down? If not, then something like this should carry it off:
>
>     (fli:define-foreign-function (quit-calling-exit "exit")
> 	((status :int))
>       :result-type :void)
>
>     (define-action "When quitting image" "Call C exit()"
> 		   (lambda ()
> 		     (quit-calling-exit 0))
> 		   :after "System shutdown commencing"
> 		   :force)
>
> Does this help?

It may.  Let me try it.

Marco

--
Marco Antoniotti
NYU Courant Bioinformatics Group		tel. +1 - 212 - 998 3488
715 Broadway 10th FL				fax. +1 - 212 - 998 3484
New York, NY, 10003, U.S.A.


________________________________________________________________________
This email has been scanned for all viruses by the MessageLabs Email
Security System. For more information on a proactive email security
service working around the clock, around the globe, visit
http://www.messagelabs.com
________________________________________________________________________

Updated at: 2020-12-10 08:59 UTC