- Where Developers Learn, Share, & Build Careers


As part of my installer, I need to call a DBMS system and close it, and later After starting it. If DBMS is hanging for some reason, then my installer is hanging forever. I call Exec in the command that will start or stop the database, my question is:

What is the definition of ewWaitUntilIdle? If my command never comes back to start / stop the database, then what unnecessary condition does it take?

This is the exact code from sources of Inno:

  process handle process Brick (Procedural: Thandal; Constant Wait: Texsevite; Constant Messaging Process: Tiprooceture; var Result Code: Integer); Wait if wait = ewWaitUntilIdle then repeat ProcessMessagesProc; Until WaitForInputIdle (Prosecutor, 50) & lt; & Gt; WAIT_TIMEOUT; End; Wait if wait = ewWaitUntilTerminated {Wait until the process is finished, but still process any incoming message. } Repeat {execute any pending message first, because MsgWaitForMultipleObjects (called below) only gives * new * message when it arrives] ProcessMessagesProc; Until MsgWaitForMultipleObjects (1, Prosecutor, False, INFINITE, QS_ALLINPUT) & lt; & Gt; WAIT_OBJECT_0 + 1; {In the case of messages once again, MessageWhofForm Multiblogged object terminated the process and new messages come together (unpublished messages can not wait, or waiting for a next call will not see them.) ProcessMessagesProc ; End; {Get exit code. If not yet available then STILL_ACTIVE will be set on} If not GetExitCodeProcess (ProcessHandle, DWORD (ResultCode)) then ResultCode: = -1; {End of the bus} CloseHandle (ProcessHandle); End; End;   

As you can see, ewWaitUntilIdle uses the WaitForInputIdle function - see more here:

Comments

Popular posts from this blog

Python SQLAlchemy:AttributeError: Neither 'Column' object nor 'Comparator' object has an attribute 'schema' -

java - How not to audit a join table and related entities using Hibernate Envers? -

mongodb - CakePHP paginator ignoring order, but only for certain values -