diff options
Diffstat (limited to 'csharp/src/Ice/LoggerAdminI.cs')
-rw-r--r-- | csharp/src/Ice/LoggerAdminI.cs | 39 |
1 files changed, 18 insertions, 21 deletions
diff --git a/csharp/src/Ice/LoggerAdminI.cs b/csharp/src/Ice/LoggerAdminI.cs index 0b8b872ee09..1c421c7c8f9 100644 --- a/csharp/src/Ice/LoggerAdminI.cs +++ b/csharp/src/Ice/LoggerAdminI.cs @@ -81,7 +81,24 @@ sealed class LoggerAdminI : Ice.LoggerAdminDisp_ try { - remoteLogger.begin_init(_logger.getPrefix(), initLogMessages.ToArray(), initCompleted, null); + remoteLogger.initAsync(_logger.getPrefix(), initLogMessages.ToArray()).ContinueWith( + (t) => + { + try + { + t.Wait(); + if(_traceLevel > 1) + { + _logger.trace(_traceCategory,"init on `" + remoteLogger.ToString() + + "' completed successfully"); + } + } + catch(System.AggregateException ae) + { + Debug.Assert(ae.InnerException is Ice.LocalException); + deadRemoteLogger(remoteLogger, _logger, (Ice.LocalException)ae.InnerException, "init"); + } + }); } catch(Ice.LocalException ex) { @@ -305,26 +322,6 @@ sealed class LoggerAdminI : Ice.LoggerAdminDisp_ return _remoteLoggerMap.Remove(remoteLogger.ice_getIdentity()); } } - - private void initCompleted(Ice.AsyncResult r) - { - Ice.RemoteLoggerPrx remoteLogger = Ice.RemoteLoggerPrxHelper.uncheckedCast(r.getProxy()); - - try - { - remoteLogger.end_init(r); - - if(_traceLevel > 1) - { - _logger.trace(_traceCategory, r.getOperation() + " on `" + remoteLogger.ToString() - + "' completed successfully"); - } - } - catch(Ice.LocalException ex) - { - deadRemoteLogger(remoteLogger, _logger, ex, r.getOperation()); - } - } private static void filterLogMessages(LinkedList<Ice.LogMessage> logMessages, HashSet<Ice.LogMessageType> messageTypes, |