iSqueak Wikki : ioExit

HomePage :: Categories :: PageIndex :: RecentChanges :: RecentlyCommented :: Login/Register

Revision [400]

Most recent edit made on 2010-09-12 21:12:02 by JohnMcIntosh

Additions:
See iPhone
It is illegal to call exit() on an iPhone according the Apple's guidelines for the App Approval process.


Deletions:
TBD




Revision [103]

Edited on 2008-10-14 22:20:18 by JohnMcIntosh

Additions:
Unix code does not call ioShutdownAllModules, this may or may not be an issue.




Revision [102]

Edited on 2008-10-14 22:17:46 by JohnMcIntosh

Additions:
may ioShutdownModules to shutdown plugins
calls dpy->winExit, does NOT CALL ioShutdownModules


Deletions:
calls ioShutdownModules to shutdown plugins




Revision [101]

Edited on 2008-10-14 22:13:08 by JohnMcIntosh

No differences.


Revision [100]

Edited on 2008-10-14 22:12:55 by JohnMcIntosh

Additions:
calls ioShutdownAllModules, and MenuBarRestore (no-op), then exit(0)
To determine is if applicationWillTerminate: should work with gQuitNowRightNow




Revision [99]

Edited on 2008-10-14 21:57:28 by JohnMcIntosh

Additions:

sqInt ioExit(void)

Parms: NONE
return: NONE, fake return of zero
From: Interpreter
Why:
image read failure, or primitiveQuit or some other quit action via platform code.
Responsibility:
The debate is does the application actually need to do anything other than exit? However historically this API was written when applications had to share resources and at quit time had to do cleanup chores.
MacIntosh
Called by ioProcessEvents if gQuitNowRightNow which can be triggered by a macintosh menu, or system shutdown if the info.plist setting for SqueakQuitOnQuitAppleEvent=YES, or at startup time if the user choosed to cancel the select an image to use dialog, or if running as a headless application for the browser we determine the browser parent process has quit.
os-9/OSXCarbon
Restore menu bar if non-headless or running browser in full screen.
Unload clipboard scrap (no-op on OSX)
free image memory allocation
calls ExitToShell versus exit(0)
Cocoa:
TBD
iPhone
Unix
Windows
{much more work to cleanup environment) calls printCallStack if this is not a clean quit, clean up if a browser plugin, deal with sytemtray, close stderr/stdout, release virtual memory, deal OLE cleanup.
BUGS
Sometimes plugin cleanup work causes the VM to crash because of poorly written plugin termination code.


Deletions:
sqInt ioExit(void)
Parms: NONE
return: NONE, fake return of zero
From: Interpreter
Why:
image read failure, or primitiveQuit or some other quit action.
Responsibility:
MacIntosh
os-9 had logic to restore menu bar if non-headless or running browser in full screen. Also called by ioProcessEvents if gQuitNowRightNow
iPhone
Unix
Windows




Revision [98]

The oldest known version of this page was edited on 2008-10-14 21:33:09 by JohnMcIntosh
sqInt ioExit(void)
Parms: NONE
return: NONE, fake return of zero
From: Interpreter
Why:
image read failure, or primitiveQuit or some other quit action.
Responsibility:
Terminate running application on quit.
calls ioShutdownModules to shutdown plugins
calls exit(0) on unix machines
control might not return to caller, see man exit(0)
MacIntosh
os-9 had logic to restore menu bar if non-headless or running browser in full screen. Also called by ioProcessEvents if gQuitNowRightNow
iPhone
Unix
Windows

Valid XHTML 1.0 Transitional :: Valid CSS :: Powered by WikkaWiki
Page was generated in 0.0939 seconds