Catchup.
authorJoe Branton <joe.branton@accenture.com>
Thu, 29 Jul 2010 12:05:54 +1000
changeset 16 18a55d594fba
parent 15 6bb86f60191e (diff)
parent 12 d0b16e01f384 (current diff)
child 17 949c6f5096e4
Catchup.
--- a/core/builtins/ymodem.cif	Wed Jul 28 18:43:53 2010 +0100
+++ b/core/builtins/ymodem.cif	Thu Jul 29 12:05:54 2010 +1000
@@ -22,19 +22,9 @@
 
 Allows the transfer of files to and from remote terminal software that supports YMODEM. Supports batch mode, allowing multiple files to be sent and received. Note, the console implementation that ymodem is attached to must support binary mode. If it doesn't, C<KErrExtensionNotSupported> (-47) will be reported. In practice, this currently means that one of the vt100 console variants (F<vt100cons.dll>, F<vt100busdevcons.dll>, F<vt100usbcons.dll>, F<vt100btcons.dll> or F<vt100tcpcons.dll>) must be used.
 
-==argument filename file_name optional multiple
-
-=over 4
-
-=item Send mode:
+Note, when sending, file names specified with wild characters are accepted. When receiving, specify a directory into which one or more files should be received. If no directory is specified, the received files will be saved in the current working directory (the name of each received file is provided by the sending end).
 
-The names of the files to be sent (wild characters are accepted). At least one file must be specified.
-
-=item Receive mode:
-
-The name of the directory in which to write the received files (the name of each received file is provided by the send). If not specified, the received files are saved in the current working directory
-
-=back
+==argument filename file_name optional multiple
 
 ==see-also
 
--- a/documentation/change_history.pod	Wed Jul 28 18:43:53 2010 +0100
+++ b/documentation/change_history.pod	Thu Jul 29 12:05:54 2010 +1000
@@ -14,6 +14,10 @@
 
 =head1 FShell Change History
 
+=head2 Release 000.4
+
+Fixed a defect in iosrv.exe that caused a panic if a foreground read object was attached to a different end point. This was due to the read object being notified of a change in foreground before its iEndPoint member was updated. This member is now updated before attempting the attach, and is set to NULL in the event of a leave (resulting in the read object being left in an unattached state).
+
 =head2 Release 000.3
 
 Build fixes.
--- a/libraries/iosrv/server/readwrite.cpp	Wed Jul 28 18:43:53 2010 +0100
+++ b/libraries/iosrv/server/readwrite.cpp	Thu Jul 29 12:05:54 2010 +1000
@@ -362,8 +362,13 @@
 		ReadEndPoint()->IorepDetach(*this);
 		}
 
-	aEndPoint.IorepAttachL(*this, aMode);
 	iEndPoint = &aEndPoint;
+	TRAPD(err, aEndPoint.IorepAttachL(*this, aMode));
+	if (err)
+		{
+		iEndPoint = NULL;
+		User::Leave(err);
+		}
 	}
 
 void CIoReadObject::SetReadMode(RIoReadHandle::TReadMode aMode)
@@ -954,8 +959,13 @@
 		WriteEndPoint()->IowepDetach(*this);
 		}
 
-	aEndPoint.IowepAttachL(*this);
 	iEndPoint = &aEndPoint;
+	TRAPD(err, aEndPoint.IowepAttachL(*this));
+	if (err)
+		{
+		iEndPoint = NULL;
+		User::Leave(err);
+		}
 	}
 
 void CIoWriteObject::WriteL(const RMsg& aMessage)