summaryrefslogtreecommitdiff
path: root/sal/osl/unx/process.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'sal/osl/unx/process.cxx')
-rw-r--r--sal/osl/unx/process.cxx118
1 files changed, 22 insertions, 96 deletions
diff --git a/sal/osl/unx/process.cxx b/sal/osl/unx/process.cxx
index eb1fdf4a98f2..3bf0c98e6e7d 100644
--- a/sal/osl/unx/process.cxx
+++ b/sal/osl/unx/process.cxx
@@ -75,19 +75,11 @@
#define MAX_ARGS 255
#define MAX_ENVS 255
-/******************************************************************************
- *
- * Data Type Definition
- *
- ******************************************************************************/
-
-typedef struct {
- int m_hPipe;
- int m_hConn;
- sal_Char m_Name[PATH_MAX + 1];
-} Pipe;
+namespace
+{
-typedef struct {
+struct ProcessData
+{
const sal_Char* m_pszArgs[MAX_ARGS + 1];
oslProcessOption m_options;
const sal_Char* m_pszDir;
@@ -100,27 +92,7 @@ typedef struct {
oslFileHandle *m_pInputWrite;
oslFileHandle *m_pOutputRead;
oslFileHandle *m_pErrorRead;
-} ProcessData;
-
-/******************************************************************************
- *
- * Function Declarations
- *
- *****************************************************************************/
-
-oslProcessError SAL_CALL osl_psz_executeProcess(sal_Char *pszImageName,
- sal_Char *pszArguments[],
- oslProcessOption Options,
- oslSecurity Security,
- sal_Char *pszDirectory,
- sal_Char *pszEnvironments[],
- oslProcess *pProcess,
- oslFileHandle *pInputWrite,
- oslFileHandle *pOutputRead,
- oslFileHandle *pErrorRead );
-
-
-sal_Bool osl_getFullPath(const sal_Char* pszFilename, sal_Char* pszPath, sal_uInt32 MaxLen);
+};
static oslProcessImpl* ChildList;
static oslMutex ChildListMutex;
@@ -185,6 +157,19 @@ static oslProcessError SAL_CALL osl_searchPath_impl(const sal_Char* pszName,
return osl_Process_E_NotFound;
}
+} //Anonymous namespace
+
+oslProcessError SAL_CALL osl_psz_executeProcess(sal_Char *pszImageName,
+ sal_Char *pszArguments[],
+ oslProcessOption Options,
+ oslSecurity Security,
+ sal_Char *pszDirectory,
+ sal_Char *pszEnvironments[],
+ oslProcess *pProcess,
+ oslFileHandle *pInputWrite,
+ oslFileHandle *pOutputRead,
+ oslFileHandle *pErrorRead );
+
/******************************************************************************
*
* New io resource transfer functions
@@ -192,19 +177,11 @@ static oslProcessError SAL_CALL osl_searchPath_impl(const sal_Char* pszName,
*****************************************************************************/
-/**********************************************
- osl_sendResourcePipe
- *********************************************/
-
sal_Bool osl_sendResourcePipe(oslPipe /*pPipe*/, oslSocket /*pSocket*/)
{
return osl_Process_E_InvalidError;
}
-/**********************************************
- osl_receiveResourcePipe
- *********************************************/
-
oslSocket osl_receiveResourcePipe(oslPipe /*pPipe*/)
{
oslSocket pSocket = 0;
@@ -243,7 +220,7 @@ static void ChildStatusProc(void *pData)
if (socketpair(AF_UNIX, SOCK_STREAM, 0, channel) == -1)
{
status = errno;
- SAL_WARN("sal", "executeProcess socketpair() errno " << status);
+ SAL_WARN("sal.osl", "executeProcess socketpair() errno " << status);
}
fcntl(channel[0], F_SETFD, FD_CLOEXEC);
@@ -254,21 +231,21 @@ static void ChildStatusProc(void *pData)
{
status = errno;
assert(status != 0);
- SAL_WARN("sal", "executeProcess pipe(stdInput) errno " << status);
+ SAL_WARN("sal.osl", "executeProcess pipe(stdInput) errno " << status);
}
if ( status == 0 && data.m_pOutputRead && pipe( stdOutput ) == -1 )
{
status = errno;
assert(status != 0);
- SAL_WARN("sal", "executeProcess pipe(stdOutput) errno " << status);
+ SAL_WARN("sal.osl", "executeProcess pipe(stdOutput) errno " << status);
}
if ( status == 0 && data.m_pErrorRead && pipe( stdError ) == -1 )
{
status = errno;
assert(status != 0);
- SAL_WARN("sal", "executeProcess pipe(stdError) errno " << status);
+ SAL_WARN("sal.osl", "executeProcess pipe(stdError) errno " << status);
}
if ( (status == 0) && ((pid = fork()) == 0) )
@@ -490,10 +467,6 @@ static void ChildStatusProc(void *pData)
}
-/**********************************************
- osl_executeProcess_WithRedirectedIO
- *********************************************/
-
oslProcessError SAL_CALL osl_executeProcess_WithRedirectedIO(
rtl_uString *ustrImageName,
rtl_uString *ustrArguments[],
@@ -612,10 +585,6 @@ oslProcessError SAL_CALL osl_executeProcess_WithRedirectedIO(
return Error;
}
-/**********************************************
- osl_executeProcess
- *********************************************/
-
oslProcessError SAL_CALL osl_executeProcess(
rtl_uString *ustrImageName,
rtl_uString *ustrArguments[],
@@ -644,10 +613,6 @@ oslProcessError SAL_CALL osl_executeProcess(
);
}
-/**********************************************
- osl_psz_executeProcess
- *********************************************/
-
oslProcessError SAL_CALL osl_psz_executeProcess(sal_Char *pszImageName,
sal_Char *pszArguments[],
oslProcessOption Options,
@@ -761,7 +726,6 @@ oslProcessError SAL_CALL osl_psz_executeProcess(sal_Char *pszImageName,
return osl_Process_E_Unknown;
}
-
/******************************************************************************
*
* Functions for processes
@@ -769,10 +733,6 @@ oslProcessError SAL_CALL osl_psz_executeProcess(sal_Char *pszImageName,
*****************************************************************************/
-/**********************************************
- osl_terminateProcess
- *********************************************/
-
oslProcessError SAL_CALL osl_terminateProcess(oslProcess Process)
{
if (Process == NULL)
@@ -796,10 +756,6 @@ oslProcessError SAL_CALL osl_terminateProcess(oslProcess Process)
return osl_Process_E_None;
}
-/**********************************************
- osl_getProcess
- *********************************************/
-
oslProcess SAL_CALL osl_getProcess(oslProcessIdentifier Ident)
{
oslProcessImpl *pProcImpl;
@@ -850,10 +806,6 @@ oslProcess SAL_CALL osl_getProcess(oslProcessIdentifier Ident)
return (pProcImpl);
}
-/**********************************************
- osl_freeProcessHandle
- *********************************************/
-
void SAL_CALL osl_freeProcessHandle(oslProcess Process)
{
if (Process != NULL)
@@ -931,17 +883,10 @@ struct osl_procStat
unsigned long kstkesp; /* current value of 'esp' (stack pointer) */
unsigned long kstkeip; /* current value of 'eip' (instruction pointer) */
/* mfe: Linux > 2.1.7x have more signals (88) */
-/*#ifdef LINUX */
char signal[24]; /* pending signals */
char blocked[24]; /* blocked signals */
char sigignore[24]; /* ignored signals */
char sigcatch[24]; /* catched signals */
-/*#else*/
-/* long long signal;*/
-/* long long blocked;*/
-/* long long sigignore;*/
-/* long long sigcatch;*/
-/*#endif */
unsigned long wchan; /* 'channel' the process is waiting in */
unsigned long nswap; /* ? */
unsigned long cnswap; /* ? */
@@ -964,10 +909,6 @@ struct osl_procStat
unsigned long vm_lib; /* library size */
};
-/**********************************************
- osl_getProcStat
- *********************************************/
-
sal_Bool osl_getProcStat(pid_t pid, struct osl_procStat* procstat)
{
int fd = 0;
@@ -983,7 +924,6 @@ sal_Bool osl_getProcStat(pid_t pid, struct osl_procStat* procstat)
bRet = safeRead(fd, prstatbuf, 511);
close(fd);
- /*printf("%s\n\n",prstatbuf);*/
if (!bRet)
return sal_False;
@@ -1017,10 +957,6 @@ sal_Bool osl_getProcStat(pid_t pid, struct osl_procStat* procstat)
return bRet;
}
-/**********************************************
- osl_getProcStatus
- *********************************************/
-
sal_Bool osl_getProcStatus(pid_t pid, struct osl_procStat* procstat)
{
int fd = 0;
@@ -1038,8 +974,6 @@ sal_Bool osl_getProcStatus(pid_t pid, struct osl_procStat* procstat)
close(fd);
- /* printf("\n\n%s\n\n",prstatusbuf);*/
-
if (!bRet)
return sal_False;
@@ -1089,10 +1023,6 @@ sal_Bool osl_getProcStatus(pid_t pid, struct osl_procStat* procstat)
#endif
-/**********************************************
- osl_getProcessInfo
- *********************************************/
-
oslProcessError SAL_CALL osl_getProcessInfo(oslProcess Process, oslProcessData Fields, oslProcessInfo* pInfo)
{
pid_t pid;
@@ -1314,10 +1244,6 @@ oslProcessError SAL_CALL osl_joinProcessWithTimeout(oslProcess Process, const Ti
return osl_error;
}
-/**********************************************
- osl_joinProcess
- *********************************************/
-
oslProcessError SAL_CALL osl_joinProcess(oslProcess Process)
{
return osl_joinProcessWithTimeout(Process, NULL);