# HG changeset patch # User Joe Branton # Date 1280369154 -36000 # Node ID 18a55d594fbabe4d92d4366a4e0105245b1c5760 # Parent 6bb86f60191e08caceb75912f8cb5b33da3991b5# Parent d0b16e01f384c6b91c004b6e7b8fcf0f3c3916d8 Catchup. diff -r d0b16e01f384 -r 18a55d594fba core/builtins/ymodem.cif --- 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 (-47) will be reported. In practice, this currently means that one of the vt100 console variants (F, F, F, F or F) 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 diff -r d0b16e01f384 -r 18a55d594fba documentation/change_history.pod --- 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. diff -r d0b16e01f384 -r 18a55d594fba libraries/iosrv/server/readwrite.cpp --- 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)