diff --git a/SteamKit2/SteamKit2/Steam3/SteamClient/CallbackMgr/CallbackMgr.cs b/SteamKit2/SteamKit2/Steam3/SteamClient/CallbackMgr/CallbackMgr.cs index 28a8bdee..98342a22 100644 --- a/SteamKit2/SteamKit2/Steam3/SteamClient/CallbackMgr/CallbackMgr.cs +++ b/SteamKit2/SteamKit2/Steam3/SteamClient/CallbackMgr/CallbackMgr.cs @@ -75,16 +75,23 @@ namespace SteamKit2 Handle( call ); } - public void RunWaitCallbacks() + public void RunWaitCallbacks( TimeSpan timeout ) { #if STATIC_CALLBACKS - var call = SteamClient.WaitForCallback( true ); + var call = SteamClient.WaitForCallback( true, timeout ); #else - var call = client.WaitForCallback( true ); + var call = client.WaitForCallback( true, timeout ); #endif + if ( call == null ) + return; + Handle( call ); } + public void RunWaitCallbacks() + { + RunWaitCallbacks( TimeSpan.FromMilliseconds( -1 ) ); + } internal void Register( ICallback call )