zorba-coders team mailing list archive
-
zorba-coders team
-
Mailing list archive
-
Message #23882
[Merge] lp:~zorba-coders/zorba/process-2 into lp:zorba/process-module
Nicolae Brinza has proposed merging lp:~zorba-coders/zorba/process-2 into lp:zorba/process-module.
Commit message:
Changed module's errors to the new modules guidelines; Potential fix for execvpe() on Macs
Requested reviews:
Nicolae Brinza (nbrinza)
Ghislain Fourny (gislenius)
Related bugs:
Bug #1188053 in Zorba: "Update non-core module "process""
https://bugs.launchpad.net/zorba/+bug/1188053
For more details, see:
https://code.launchpad.net/~zorba-coders/zorba/process-2/+merge/171824
Changed module's errors to the new modules guidelines; Potential fix for execvpe() on Macs
--
https://code.launchpad.net/~zorba-coders/zorba/process-2/+merge/171824
Your team Zorba Coders is subscribed to branch lp:zorba/process-module.
=== modified file 'src/process-2.xq'
--- src/process-2.xq 2013-06-15 19:46:05 +0000
+++ src/process-2.xq 2013-06-27 14:46:36 +0000
@@ -26,8 +26,8 @@
: <p>
: Example:
: <pre>
- : import module namespace proc = "http://zorba.io/modules/process";
- : proc:exec("ls")
+ : import module namespace p = "http://zorba.io/modules/process";
+ : p:exec("ls")
: </pre>
: </p>
:
@@ -86,7 +86,7 @@
:
: @return the result of the execution as an object
:
- : @error p:PROC01 if an error occurred while communicating with the process.
+ : @error p:COMMUNICATION if an error occurred while communicating with the process.
:)
declare %an:sequential function p:exec(
$filename as string
@@ -113,7 +113,7 @@
:
: @return the result of the execution as an object
:
- : @error p:PROC01 if an error occurred while communicating with the process.
+ : @error p:COMMUNICATION if an error occurred while communicating with the process.
:)
declare %an:sequential function p:exec(
$filename as string,
@@ -147,7 +147,7 @@
:
: @return the result of the execution as an object
:
- : @error p:PROC01 if an error occurred while communicating with the process.
+ : @error p:COMMUNICATION if an error occurred while communicating with the process.
:)
declare %an:sequential function p:exec(
$filename as string,
@@ -168,7 +168,7 @@
:
: @return the result of the execution as an object
:
- : @error p:PROC01 if an error occurred while communicating with the process.
+ : @error p:COMMUNICATION if an error occurred while communicating with the process.
:)
declare %an:sequential function p:exec-command(
$cmd as string
@@ -189,7 +189,7 @@
:
: @return the result of the execution as an object
:
- : @error p:PROC01 if an error occurred while communicating with the process.
+ : @error p:COMMUNICATION if an error occurred while communicating with the process.
:)
declare %an:sequential function p:exec-command(
$cmd as string,
=== modified file 'src/process-2.xq.src/process.cpp'
--- src/process-2.xq.src/process.cpp 2013-06-21 03:37:04 +0000
+++ src/process-2.xq.src/process.cpp 2013-06-27 14:46:36 +0000
@@ -51,12 +51,21 @@
#ifndef WIN32
int execvpe(const char *program, char **argv, char **envp)
{
+<<<<<<< TREE
extern char **environ;
char **saved = environ;
int rc;
environ = envp;
rc = execvp(program, argv);
environ = saved;
+=======
+ clearenv();
+ int i = 0;
+ while (envp[i] != NULL)
+ putenv(envp[i++]);
+
+ int rc = execvp(program, argv);
+>>>>>>> MERGE-SOURCE
return rc;
}
#endif
@@ -105,8 +114,7 @@
wsprintf(lErrorBuffer,TEXT("Process Error Code: %d - Message= %s"),GetLastError(), (TCHAR *)lpvMessageBuffer);
LocalFree(lpvMessageBuffer);
Item lQName = ProcessModule::getItemFactory()->createQName(
- "http://www.zorba-xquery.com/modules/process",
- "PROC01");
+ "http://zorba.io/modules/process", "COMMUNICATION");
#ifdef UNICODE
char error_str[1024];
WideCharToMultiByte(CP_UTF8, 0, lErrorBuffer, -1, error_str, sizeof(error_str), NULL, NULL);
@@ -239,7 +247,7 @@
|| !CreatePipe(&lErrRead,&lStdErr,&lSecurityAttributes,1024*1024) // std::cerr >> lErrRead
){
Item lQName = ProcessModule::getItemFactory()->createQName(
- "http://www.zorba-xquery.com/modules/process", "PROC01");
+ "http://zorba.io/modules/process", "COMMUNICATION");
throw USER_EXCEPTION(lQName,
"Couldn't create one of std::cout/std::cerr pipe for child process execution."
);
@@ -261,7 +269,7 @@
lErrorMsg
<< "Couldn't get exit code from child process. Executed command: '" << aCommand << "'.";
Item lQName = ProcessModule::getItemFactory()->createQName(
- "http://www.zorba-xquery.com/modules/process", "PROC01");
+ "http://zorba.io/modules/process", "COMMUNICATION");
throw USER_EXCEPTION(lQName, lErrorMsg.str().c_str());
}
@@ -451,7 +459,7 @@
std::stringstream lErrorMsg;
lErrorMsg << "Failed to execute the command (" << code << ")";
Item lQName = ProcessModule::getItemFactory()->createQName(
- "http://www.zorba-xquery.com/modules/process", "PROC01");
+ "http://zorba.io/modules/process", "COMMUNICATION");
throw USER_EXCEPTION(lQName, lErrorMsg.str().c_str());
}
exit_code = code;
@@ -489,7 +497,7 @@
std::stringstream lErrorMsg;
lErrorMsg << "Failed to execute the command (" << pid << ")";
Item lQName = ProcessModule::getItemFactory()->createQName(
- "http://www.zorba-xquery.com/modules/process", "PROC01");
+ "http://zorba.io/modules/process", "COMMUNICATION");
throw USER_EXCEPTION(lQName, lErrorMsg.str().c_str());
return NULL;
}
@@ -515,7 +523,7 @@
std::stringstream lErrorMsg;
lErrorMsg << "Failed to close the err stream (" << status << ")";
Item lQName = ProcessModule::getItemFactory()->createQName(
- "http://www.zorba-xquery.com/modules/process", "PROC01");
+ "http://zorba.io/modules/process", "COMMUNICATION");
throw USER_EXCEPTION(lQName, lErrorMsg.str().c_str());
}
@@ -528,7 +536,7 @@
std::stringstream lErrorMsg;
lErrorMsg << "Failed to wait for child process ";
Item lQName = ProcessModule::getItemFactory()->createQName(
- "http://www.zorba-xquery.com/modules/process", "PROC01");
+ "http://zorba.io/modules/process", "COMMUNICATION");
throw USER_EXCEPTION(lQName, lErrorMsg.str().c_str());
}
Follow ups
-
[Merge] lp:~zorba-coders/zorba/process-2 into lp:zorba/process-module
From: Zorba Build Bot, 2013-07-10
-
[Merge] lp:~zorba-coders/zorba/process-2 into lp:zorba/process-module
From: Zorba Build Bot, 2013-07-10
-
[Merge] lp:~zorba-coders/zorba/process-2 into lp:zorba/process-module
From: Zorba Build Bot, 2013-07-10
-
[Merge] lp:~zorba-coders/zorba/process-2 into lp:zorba/process-module
From: noreply, 2013-07-10
-
[Merge] lp:~zorba-coders/zorba/process-2 into lp:zorba/process-module
From: Zorba Build Bot, 2013-07-10
-
[Merge] lp:~zorba-coders/zorba/process-2 into lp:zorba/process-module
From: Nicolae Brinza, 2013-07-10
-
Re: [Merge] lp:~zorba-coders/zorba/process-2 into lp:zorba/process-module
From: Ghislain Fourny, 2013-07-10
-
[Merge] lp:~zorba-coders/zorba/process-2 into lp:zorba/process-module
From: Zorba Build Bot, 2013-06-27
-
Re: [Merge] lp:~zorba-coders/zorba/process-2 into lp:zorba/process-module
From: Zorba Build Bot, 2013-06-27
-
[Merge] lp:~zorba-coders/zorba/process-2 into lp:zorba/process-module
From: Zorba Build Bot, 2013-06-27
-
[Merge] lp:~zorba-coders/zorba/process-2 into lp:zorba/process-module
From: Nicolae Brinza, 2013-06-27
-
[Merge] lp:~zorba-coders/zorba/process-2 into lp:zorba/process-module
From: Zorba Build Bot, 2013-06-27
-
[Merge] lp:~zorba-coders/zorba/process-2 into lp:zorba/process-module
From: Zorba Build Bot, 2013-06-27
-
Re: [Merge] lp:~zorba-coders/zorba/process-2 into lp:zorba/process-module
From: Zorba Build Bot, 2013-06-27
-
[Merge] lp:~zorba-coders/zorba/process-2 into lp:zorba/process-module
From: Nicolae Brinza, 2013-06-27
-
Re: [Merge] lp:~zorba-coders/zorba/process-2 into lp:zorba/process-module
From: Nicolae Brinza, 2013-06-27
-
[Merge] lp:~zorba-coders/zorba/process-2 into lp:zorba/process-module
From: Nicolae Brinza, 2013-06-27