POV-Ray : Newsgroups : povray.beta-test : No Quit in OS X Server Time
30 Jul 2024 02:29:17 EDT (-0400)
  No Quit in OS X (Message 11 to 12 of 12)  
<<< Previous 10 Messages Goto Initial 10 Messages
From: Christian Walther
Subject: Re: No Quit in OS X
Date: 28 Feb 2002 05:45:19
Message: <B8A3C8B8.2FD5%cwalther@gmx.ch>
> Well, there are times when you don't want POV-Ray to "Quit" immediately, i.e.
> only proper termination will allow compressed Pict images or QT movie files to
> work.  Sure, you can still "break" it in Mac OS X by sending a Quit apple
> event from an external application at this time, but doing so is much harder
> than just hitting the "wrong" Quit menu item...

Pardon me if I am asking something stupid, but does this mean that POV-Ray
currently reacts to a quit apple event differently than to a user selecting
the "right" Quit menu item? If so, why this? As far as I know the quit apple
event does not mean "quit immediately", but is meant to allow programs to
ask about saving documents before quitting etc. At least that's my
experience with other programs.

 -Christian


Post a reply to this message

From: Thorsten Froehlich
Subject: Re: No Quit in OS X
Date: 28 Feb 2002 06:11:58
Message: <3c7e107e@news.povray.org>
In article <B8A3C8B8.2FD5%cwa### [at] gmxch> , Christian Walther 
<cwa### [at] gmxch>  wrote:

> Pardon me if I am asking something stupid, but does this mean that POV-Ray
> currently reacts to a quit apple event differently than to a user selecting
> the "right" Quit menu item? If so, why this? As far as I know the quit apple
> event does not mean "quit immediately", but is meant to allow programs to
> ask about saving documents before quitting etc. At least that's my
> experience with other programs.

No, what the quit event allows is not the problem is this case.  It is all a
bit more complex!  The point is that there is no clean way of knowing whether
the render thread is currently saving.  With an external apple event in Mac OS
X the application thread can receive a quit event even while it was actually
busy.  However, with its own menus the application can be sure this never
happens because it is living in a cooperative multitasking environment and
thus won't be able to process menu events of its own quit menu item until the
render thread gives it time.

As pointed out, in Mac OS X even Carbon applications, also they are living in
a cooperative thread model can receive apple events at times they could
technically not receive them in Mac OS because there the whole system uses
cooperative threads and all menus (not only the application's own menus) are
processed in the same way.

As for the application-owned quit menu item, it of course also sends quit
apple events.  Just, as explained above, it simply won't do so (because in the
cooperative thread model it can't run at the same time) while the render
thread is working.  The system-owned quit menu item on the other hand does
work at this time...

    Thorsten

____________________________________________________
Thorsten Froehlich, Duisburg, Germany
e-mail: tho### [at] trfde

Visit POV-Ray on the web: http://mac.povray.org


Post a reply to this message

<<< Previous 10 Messages Goto Initial 10 Messages

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.