Thanks for all your replies....

I have handled these kind of issues in the past with a Signal-pattern class that works just great. I encounter somewhat of a similar problem with CORBA, and that pattern solved all of my problems. The limitations that you are referring too are not an issue, I think, when using that pattern. My plan is to try the same solution that I applied to CORBA to this particular problem, and see what gives. If anyone is interested, let me know, and I will give you my signal pattern source code. I can guarantee that it works on Solaris and Linux, and chances are on any flavors of Unix. Have not tried Windows yet.


Richard Rauch wrote:
On Wed, Mar 24, 2004 at 08:35:16AM -0500, Eric Damphousse wrote:
Good morning all,

I've recently downloaded freeglut, built it and installed it without a 
problem. I am running Solaris 9 on an Ultra 80 with gcc 3.3.2. The issue 
I have is that I expected the glutMainLoop would return and it does not. 

Depending on what you were expecting, this could be a surprise or not.

GLUT's glutMainLoop() never returned.  Ever.

freeglut added some mechanisms whereby it was possible to return
from the function rather than exiting the program altogether,
and also provided an exposure of the glutMainLoopEvent(), by which
you *manually* tell freeglut to poll the window for events.

Basically, glutMainLoop() in its very bare essence, looks like this:

  while( not dead )
    glutMainLoopEvent( );
    fgSleepForEvents( );

This has some limitations which I am thinking about for the OpenGLUT
project, but that's what is currently done.