3535from lib .core .data import kb
3636from lib .core .data import logger
3737from lib .core .data import paths
38+ from lib .core .dump import dumper
3839from lib .core .common import unhandledExceptionMessage
3940from lib .core .exception import exceptionsTuple
4041from lib .core .exception import sqlmapSilentQuitException
4445from lib .core .settings import LEGAL_DISCLAIMER
4546from lib .core .testing import smokeTest
4647from lib .core .testing import liveTest
47- from lib .core .xmldump import closeDumper
4848from lib .parse .cmdline import cmdLineParser
4949
5050def modulePath ():
@@ -85,27 +85,23 @@ def main():
8585 except sqlmapUserQuitException :
8686 errMsg = "user quit"
8787 logger .error (errMsg )
88- closeDumper (False , errMsg )
8988
9089 except sqlmapSilentQuitException :
91- closeDumper ( False )
90+ pass
9291
9392 except exceptionsTuple , e :
9493 e = getUnicode (e )
9594 logger .critical (e )
96- closeDumper (False , e )
9795
9896 except KeyboardInterrupt :
9997 print
10098 errMsg = "user aborted"
10199 logger .error (errMsg )
102- closeDumper (False , errMsg )
103100
104101 except EOFError :
105102 print
106103 errMsg = "exit"
107104 logger .error (errMsg )
108- closeDumper (False , errMsg )
109105
110106 except SystemExit :
111107 pass
@@ -115,23 +111,21 @@ def main():
115111 errMsg = unhandledExceptionMessage ()
116112 logger .critical (errMsg )
117113 traceback .print_exc ()
118- closeDumper (False , errMsg )
119-
120- else :
121- closeDumper (True )
122114
123115 finally :
124116 dataToStdout ("\n [*] shutting down at %s\n \n " % time .strftime ("%X" ), forceOutput = True )
125117
126118 kb .threadContinue = False
127119 kb .threadException = True
128120
129- if conf .get (' hashDB' , None ):
121+ if conf .get (" hashDB" , None ):
130122 try :
131123 conf .hashDB .flush (True )
132124 except KeyboardInterrupt :
133125 pass
134126
127+ dumper .flush ()
128+
135129 # Reference: http://stackoverflow.com/questions/1635080/terminate-a-multi-thread-python-program
136130 if hasattr (conf , "threads" ) and conf .threads > 1 :
137131 os ._exit (0 )
0 commit comments