Changeset 168
- Timestamp:
- 07/04/08 14:38:02 (5 months ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
Mulberry/branches/v4.1d1/Sources_Common/Mail/Network/CTCPStream.cp
r19 r168 76 76 { 77 77 iostate err = goodbit; 78 #ifndef _MSL_NO_EXCEPTIONS79 78 try 80 79 { 81 #endif82 80 while (true) 83 81 { … … 109 107 } 110 108 *s = CTCPStreamBuf::char_type(); 111 #ifndef _MSL_NO_EXCEPTIONS112 109 } 113 110 catch (...) … … 115 112 CLOG_LOGCATCH(...); 116 113 117 #ifdef __SGI_STL_PORT 118 _M_setstate_nothrow(badbit); 119 #elif __dest_os == __linux_os 120 setstate(badbit); 114 // Important - do not let this failure throw an exception!!! 115 // Any exception here is not handled properly by caller 116 try 117 { 118 #ifdef __GNUC__ 119 setstate(badbit); 121 120 #else 122 #ifdef __GNUC__ 123 setstate(badbit); 124 #else 125 state() |= badbit; 121 state() |= badbit; 126 122 #endif 127 #endif 123 } 124 catch(...) 125 { 126 // Ignore 127 } 128 128 // Always throw up 129 129 CLOG_LOGRETHROW; 130 130 throw; 131 131 } 132 #endif133 132 134 133 // Important - do not let this failure throw an exception!!! 135 134 // Any exception here is not handled 136 #ifdef __SGI_STL_PORT 137 _M_clear_nothrow(err);138 # elif __dest_os == __linux_os139 setstate(err);135 try 136 { 137 #ifdef __GNUC__ 138 setstate(err); 140 139 #else 141 #ifdef __GNUC__ 142 try 143 { 144 setstate(err); 140 state() = err; 141 #endif 145 142 } 146 143 catch(...) … … 148 145 // Ignore stream exception 149 146 } 150 #else151 state() = err;152 #endif153 #endif154 147 155 148 }