diff options
Diffstat (limited to 'util/message_server_port.cpp')
-rw-r--r-- | util/message_server_port.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/util/message_server_port.cpp b/util/message_server_port.cpp index 6d00628..76bd78d 100644 --- a/util/message_server_port.cpp +++ b/util/message_server_port.cpp @@ -23,6 +23,7 @@ #include "message_server.h" #include "../db/cmdline.h" +#include "../db/lasterror.h" #include "../db/stats/counters.h" namespace mongo { @@ -38,14 +39,19 @@ namespace mongo { setThreadName( "conn" ); - auto_ptr<MessagingPort> p( inPort ); + scoped_ptr<MessagingPort> p( inPort ); string otherSide; Message m; try { + LastError * le = new LastError(); + lastError.reset( le ); // lastError now has ownership + otherSide = p->farEnd.toString(); + handler->connected( p.get() ); + while ( 1 ) { m.reset(); p->clearCounters(); @@ -57,7 +63,7 @@ namespace mongo { break; } - handler->process( m , p.get() ); + handler->process( m , p.get() , le ); networkCounter.hit( p->getBytesIn() , p->getBytesOut() ); } } |