Changeset 993


Ignore:
Timestamp:
12/10/2006 23:15:09 (5 years ago)
Author:
chris
Message:
  • Added an OnIdle? method which can be overridden by subclasses for idle

tasks. Used for housekeeping on Win32.

  • Avoid forking on Win32, and trying to clean up after children.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • box/trunk/lib/server/ServerStream.h

    r217 r993  
    5757        } 
    5858 
     59        virtual void OnIdle() { } 
     60 
    5961        virtual void Run() 
    6062        { 
     
    216218                                        { 
    217219                                                // Since this is a template parameter, the if() will be optimised out by the compiler 
    218                                                 if(ForkToHandleRequests) 
     220                                                if(WillForkToHandleRequests()) 
    219221                                                { 
    220222                                                        pid_t pid = ::fork(); 
     
    263265                                        } 
    264266                                } 
    265                                  
     267 
     268                                OnIdle(); 
     269 
    266270                                // Clean up child processes (if forking daemon) 
    267                                 if(ForkToHandleRequests) 
     271                                if(WillForkToHandleRequests()) 
    268272                                { 
    269273                                        int status = 0; 
     
    302306        bool WillForkToHandleRequests() 
    303307        { 
     308                #ifdef WIN32 
     309                return false; 
     310                #else 
    304311                return ForkToHandleRequests; 
     312                #endif // WIN32 
    305313        } 
    306314 
Note: See TracChangeset for help on using the changeset viewer.