fixes for pcons start, rombuild defs.
authorTom Sutcliffe <thomas.sutcliffe@accenture.com>
Thu, 09 Sep 2010 15:38:45 +0100
changeset 56 9c352d34f5aa
parent 53 17466b56148d
child 57 683f4b1f08ce
fixes for pcons start, rombuild defs.
build/common/fsh_rombuild_defs.iby
core/src/commands.cpp
libraries/lineeditor/src/line_editor.cpp
--- a/build/common/fsh_rombuild_defs.iby	Tue Sep 07 11:07:30 2010 +0100
+++ b/build/common/fsh_rombuild_defs.iby	Thu Sep 09 15:38:45 2010 +0100
@@ -22,7 +22,7 @@
 
 #define FSHELL_DATA_FILE(fileNameFrom, fileNameTo) data=##fileNameFrom fileNameTo
 #define FSHELL_EXECUTABLE_FILE(fileName) file=\epoc32\release\##MAIN##\##BUILD##\##fileName sys\bin\##fileName
-#define FSHELL_EXECUTABLE_AS_DATA(fileNameFrom, fileNameTo) data=\epoc32\release\##MAIN##\##BUILD##\fileNameFrom sys\bin\##fileNameTo
+#define FSHELL_EXECUTABLE_AS_DATA(fileNameFrom, fileNameTo) data=\epoc32\release\##MAIN##\##BUILD##\##fileNameFrom sys\bin\##fileNameTo
 #define FSHELL_DEBUG_EXECUTABLE_FILE(fileName) file=\epoc32\release\##MAIN##\##BUILD##\##fileName sys\bin\##fileName
 #define FSHELL_RENAMED_EXECUTABLE_FILE(fileNameFrom, fileNameTo) file=\epoc32\release\##MAIN##\##BUILD##\##fileNameFrom sys\bin\##fileNameTo
 #define FSHELL_DEBUG_RENAMED_EXECUTABLE_FILE(fileNameFrom, fileNameTo) file=\epoc32\release\##MAIN##\##BUILD##\##fileNameFrom sys\bin\##fileNameTo
@@ -46,9 +46,9 @@
 
 #define FSHELL_DATA_FILE(fileNameFrom, fileNameTo) data=##fileNameFrom fileNameTo
 #define FSHELL_EXECUTABLE_FILE(fileName) file=##ABI_DIR##\##DEBUG_DIR##\##fileName sys\bin\##fileName
-#define FSHELL_EXECUTABLE_AS_DATA(fileNameFrom, fileNameTo) file=##ABI_DIR##\##DEBUG_DIR##\fileNameFrom sys\bin\##fileNameTo
+#define FSHELL_EXECUTABLE_AS_DATA(fileNameFrom, fileNameTo) data=##ABI_DIR##\##DEBUG_DIR##\##fileNameFrom sys\bin\##fileNameTo
 #define FSHELL_DEBUG_EXECUTABLE_FILE(fileName) file=##ABI_DIR##\##DEBUG_DIR##\##fileName sys\bin\##fileName
-#define FSHELL_RENAMED_EXECUTABLE_FILE(fileNameFrom, fileNameTo) file=##ABI_DIR##\##BUILD_DIR\##fileNameFrom sys\bin\##fileNameTo
+#define FSHELL_RENAMED_EXECUTABLE_FILE(fileNameFrom, fileNameTo) file=##ABI_DIR##\##BUILD_DIR##\##fileNameFrom sys\bin\##fileNameTo
 #define FSHELL_DEBUG_RENAMED_EXECUTABLE_FILE(fileNameFrom, fileNameTo) file=##ABI_DIR##\##DEBUG_DIR\##fileNameFrom sys\bin\##fileNameTo
 #define FSHELL_KERNEL_EXTENSION(fileName) ROM_IMAGE[0] FSHELL_EXT=##KERNEL_DIR##\##BUILD_DIR##\##fileName sys\bin\##fileName
 #define FSHELL_DEBUG_KERNEL_EXTENSION(fileName) ROM_IMAGE[0] { FSHELL_EXT=##KERNEL_DIR##\##DEBUG_DIR##\##fileName sys\bin\##fileName }
--- a/core/src/commands.cpp	Tue Sep 07 11:07:30 2010 +0100
+++ b/core/src/commands.cpp	Thu Sep 09 15:38:45 2010 +0100
@@ -5262,7 +5262,11 @@
 	RChildProcess proc;
 	TRAPL(proc.CreateL(command, args, IoSession(), aPcons, &Env()), _L("Could not create process %S"), &command);
 	
+	// Wait for process to rendezvous before returning to close aPcons - we have to give the child time to connect to the console.
+	TRequestStatus status;
+	proc.Process().Rendezvous(status);
 	proc.Detach();
+	User::WaitForRequest(status);
 	proc.Close();
 	}
 	
--- a/libraries/lineeditor/src/line_editor.cpp	Tue Sep 07 11:07:30 2010 +0100
+++ b/libraries/lineeditor/src/line_editor.cpp	Thu Sep 09 15:38:45 2010 +0100
@@ -34,8 +34,10 @@
 RConsole::RConsole(MAbstractConsoleWriter& aStdout)
 	: iStdout(aStdout), iCursorPos(TPoint(0, 0)), iCursorMode(EInsert), iCursorVisible(EFalse)
 	{
-	iStdout.GetScreenSize(iSize);
-	SetCursorVisible(ETrue);
+	// Calling these here cause fshell to deadlock if being launched within a "pcons start fshell".
+	// Doesn't appear to cause any problems removing them, as Start()/Refresh() get called shortly after.
+	//iStdout.GetScreenSize(iSize);
+	//SetCursorVisible(ETrue);
 	}
 
 void RConsole::Close()