-
Type: Bug
-
Resolution: Incomplete
-
Priority: Major - P3
-
None
-
Affects Version/s: 1.6.5, 1.7.6
-
Component/s: Internal Client
-
Environment:MacOS X 10.6.6 (appears to be on any unix platform)
-
ALL
My program consists of short-live multiple processes, parent processes are often receive SIGCHLD, it sometimes happen during mongodb query execution or data retrieval via cursor. When signal is received, MessagingPort::recv( char * buf , int len ) throws SocketException (message.cpp:653 in 1.7.6 sources), that exception is then caught in MessagingPort::recv(Message& m) (message.cpp:477 in 1.7.6 sources) and false is returned. Returned value is ignored by DBClientConnection::recv( Message &m ) (dbclient.cpp:892) and my program does not receive any information about that exception, it just looks like query found no results (while matching documents are in the database).
Would be good to just allow user code to receive SocketException or DBException, then user code could repeat the query.
Thanks.