Major Update:
- Updated all Logged messages, standardised DebugLevel:
- dlNone - Show startup and stop
- dlLow - Show creation/destruction of Function Blocks and Local IO
- dlMedium - Show connection events, eg. open/close
- dlHigh - Show data flow events
-LogCore:
- LogMessage and ShowOutput uses va_list
only run printf if DebugLevel correct
- Remove global LogStr[] variable
- SelectableCore:
- Implemented Auto-management of handles
auto open on startup/fail/close
- Changed simple Open/Close/Read/Write methods to inline
- Do not set Select Write trigger for server socket
- Memory leak, setting address twice on RemoteClient
- Bug fix, only send handle out data if DebugLevel = dlHigh
- Bug fix, do not Read/ProcessBuffer if no InputBuffer
This commit is contained in:
@@ -19,7 +19,6 @@
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
extern char ProcessName[];
|
||||
extern char LogStr[]; // Access to global temporary log messages string
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
@@ -40,7 +39,7 @@ CSelect::CSelect( long SelectTimeout )
|
||||
SetInterval( &Timeout, SelectTimeout );
|
||||
|
||||
// Show status
|
||||
LogMessage( ProcessName, dlMedium, "Select - Created" );
|
||||
LogMessage( dlLow, "%s: Select - Created", ProcessName );
|
||||
}
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
@@ -58,7 +57,7 @@ CSelect::~CSelect()
|
||||
}
|
||||
|
||||
// Show status
|
||||
LogMessage( ProcessName, dlMedium, "Select - Destroyed" );
|
||||
LogMessage( dlLow, "%s: Select - Destroyed", ProcessName );
|
||||
return;
|
||||
}
|
||||
//---------------------------------------------------------------------------
|
||||
@@ -103,8 +102,7 @@ void CSelect::Add( int FD, bool Read, bool Write, CSelectableCore * Function )
|
||||
FD_SET( FD, &ReadTestFDS );
|
||||
|
||||
// Log event
|
||||
sprintf( LogStr, "FD [%d] - Add Read", FD );
|
||||
LogMessage( "Select", dlMedium, LogStr );
|
||||
LogMessage( dlHigh, "Select: FD [%d] - Add Read", FD );
|
||||
}
|
||||
|
||||
// Add Write Select
|
||||
@@ -113,8 +111,7 @@ void CSelect::Add( int FD, bool Read, bool Write, CSelectableCore * Function )
|
||||
FD_SET( FD, &WriteTestFDS );
|
||||
|
||||
// Log event
|
||||
sprintf( LogStr, "FD [%d] - Add Write", FD );
|
||||
LogMessage( "Select", dlMedium, LogStr );
|
||||
LogMessage( dlHigh, "Select: FD [%d] - Add Write", FD );
|
||||
}
|
||||
|
||||
// Check Maximum File Handle
|
||||
@@ -142,8 +139,7 @@ void CSelect::Remove( int FD, bool Read, bool Write )
|
||||
FD_CLR( FD, &ReadTestFDS);
|
||||
|
||||
// Log event
|
||||
sprintf( LogStr, "FD [%d] - Remove Read", FD );
|
||||
LogMessage( "Select", dlMedium, LogStr );
|
||||
LogMessage( dlHigh, "Select: FD [%d] - Remove Read", FD );
|
||||
}
|
||||
|
||||
// Remove from set for select write check
|
||||
@@ -152,8 +148,7 @@ void CSelect::Remove( int FD, bool Read, bool Write )
|
||||
FD_CLR( FD, &WriteTestFDS);
|
||||
|
||||
// Log event
|
||||
sprintf( LogStr, "FD [%d] - Remove Write", FD );
|
||||
LogMessage( "Select", dlMedium, LogStr );
|
||||
LogMessage( dlHigh, "Select: FD [%d] - Remove Write", FD );
|
||||
}
|
||||
// Handle will be removed in Test() if both Read & Write flags are false
|
||||
}
|
||||
@@ -174,7 +169,7 @@ bool CSelect::Test()
|
||||
Events = select( MaxFD, &ReadFDS, &WriteFDS, (fd_set*)NULL, &Timeout );
|
||||
if (Events < 0)
|
||||
{
|
||||
LogMessage( "Select", dlMedium, "Select operation failed" );
|
||||
LogMessage( dlHigh, "Select: Select operation failed" );
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user