X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/cc81d32f2bf8c159f3b1bf6ddaf62e6d77720209..6aaee6afdcde7c9e677f642303d4988a66cb9dc9:/docs/latex/wx/snglinst.tex diff --git a/docs/latex/wx/snglinst.tex b/docs/latex/wx/snglinst.tex index b655dd94b1..3cae29f168 100644 --- a/docs/latex/wx/snglinst.tex +++ b/docs/latex/wx/snglinst.tex @@ -30,6 +30,9 @@ bool MyApp::OnInit() { wxLogError(_("Another program instance is already running, aborting.")); + delete m_checker; // OnExit() won't be called if we return false + m_checker = NULL; + return false; } @@ -62,6 +65,10 @@ No base class +\wxheading{Library} + +\helpref{wxBase}{librarieslist} + \latexignore{\rtfignore{\wxheading{Members}}} \membersection{wxSingleInstanceChecker::wxSingleInstanceChecker}\label{wxsingleinstancecheckerctor} @@ -104,6 +111,15 @@ instance is running - use \helpref{IsAnotherRunning()}{wxsingleinstancecheckerisanotherrunning} to check for it. +\wxheading{Note} + +One of possible reasons while Create may fail on Unix is that the lock file +used for checking already exists but was not created by the user. +Therefore applications shouldn't treat failure of this function as fatal +condition, because doing so would open them to the possibility of a Denial of +Service attack. Instead, they should alert the user about the problem and +offer to continue execution without checking if another instance is running. + \membersection{wxSingleInstanceChecker::IsAnotherRunning}\label{wxsingleinstancecheckerisanotherrunning} \constfunc{bool}{IsAnotherRunning}{\void}