datacommsserver/esockserver/ssock/ss_intsock.cpp
changeset 4 928ed51ddc43
parent 0 dfb7c4ff071f
child 12 8b5d60ce1e94
equal deleted inserted replaced
3:b6139031a239 4:928ed51ddc43
  1193 				if(ret != KErrNone)
  1193 				if(ret != KErrNone)
  1194 					{
  1194 					{
  1195 					ret = KErrNoMemory;
  1195 					ret = KErrNoMemory;
  1196 					}
  1196 					}
  1197 				}
  1197 				}
  1198 			if(ret == KErrNone && (iOptions & KOptBlocking))
  1198 			if(ret == KErrNone)
  1199 				{
  1199 			    {
  1200 				completeReq = EFalse;
  1200                 if(iOptions & KOptBlocking)
  1201 				}
  1201                     {
       
  1202                     completeReq = EFalse;
       
  1203                     }
       
  1204                 else if(iBlockedOperations & EWriteFlowedOff)
       
  1205                     {
       
  1206                     //it should return KErrWouldBlock instead of KErrNone
       
  1207                     //but it returns KErrNone for backward compatibility.
       
  1208                     iSendData.Free();
       
  1209                     }
       
  1210 			    }
  1202 			}
  1211 			}
  1203 		}
  1212 		}
  1204 	else	// !IsStream()
  1213 	else	// !IsStream()
  1205 		{
  1214 		{
  1206 		if (aInitialRequest && ((iProtocolInfo->iMessageSize!=KSocketMessageSizeNoLimit) && (iProtocolInfo->iMessageSize!=KSocketMessageSizeUndefined) && (iSendByteCount>iProtocolInfo->iMessageSize)) ||
  1215 		if (aInitialRequest && ((iProtocolInfo->iMessageSize!=KSocketMessageSizeNoLimit) && (iProtocolInfo->iMessageSize!=KSocketMessageSizeUndefined) && (iSendByteCount>iProtocolInfo->iMessageSize)) ||
  1315 				}
  1324 				}
  1316 
  1325 
  1317 			if (nwr == 0)
  1326 			if (nwr == 0)
  1318 				{
  1327 				{
  1319 				// Flow unable to accept data but not erroring
  1328 				// Flow unable to accept data but not erroring
  1320 				completeReq = EFalse;
  1329                 // WriteFlowedOff
  1321 				iSendData.Assign(data);
  1330                 if(iOptions & KOptBlocking)
       
  1331                     {
       
  1332                     completeReq = EFalse;
       
  1333                     iSendData.Assign(data);
       
  1334                     }
  1322 				}
  1335 				}
  1323 
  1336 
  1324 			if (iErrorOperationMask & (MSessionControlNotify::EErrorSend))
  1337 			if (iErrorOperationMask & (MSessionControlNotify::EErrorSend))
  1325 				{
  1338 				{
  1326 				// Protocol has errored the socket.  Complete the current operation with the error.
  1339 				// Protocol has errored the socket.  Complete the current operation with the error.