Armin Novak
09d43a66f4
Fixed tests and dead store warnings.
2017-03-28 16:49:56 +02:00
Armin Novak
99c45405cb
Fixed GetEnvironmentVariable.
2017-03-03 12:43:00 +01:00
Bernhard Miklautz
c70559d128
winpr API: add EnvironmentBlockToEnvpA
...
* expose EnvironmentBlockToEnvpA
* cleanup includes in process.c
* removed unused "flag" variable in _CreateProcessExA
* make ProcessHandleCloseHandle static
2015-10-23 18:38:42 +02:00
Bernhard Miklautz
72f13aeacb
CreateProcess: add stdin/out/err redirection
...
When launching a new process stdin/stdout/stderr can be redirected by
passing the corresponding HANDLEs in the passed lpStartupInfo structure.
This is required for example if a pipe should be used as stdin/stdout.
If set in lpStartupInfo the file descriptor of the passed handle is
now used. The test was updated accordingly.
2015-08-28 10:41:23 +02:00
Bernhard Miklautz
c7adb569ff
CreateProcess: fix setting of default handler
...
If SA_SIGINFO isn't set in the flags sa_handler is used
instead of sa_sigaction.
This fixes also the compiler warning:
FreeRDP/winpr/libwinpr/thread/process.c: In function ‘_CreateProcessExA’:
FreeRDP/winpr/libwinpr/thread/process.c:282:20: warning: assignment from
incompatible pointer type [enabled by default]
2015-07-02 12:25:48 +02:00
Bernhard Miklautz
be53e9e029
CreateProcess: two fixes
...
* change to lpCurrentDirectory if set even if no token was supplied
* fix wrong check - add missing !
This was part of akallabeth's PR #2714 .
2015-07-02 12:05:46 +02:00
Norbert Federa
c84e90bf06
winpr: fix CreateProcess signal handler issues
...
The calling thread of CreateProcess can be in any library and
can have arbitrary signal masks and handlers.
We now save the caller's mask and block all signals before forking.
After fork:
- child resets the handlers and unblocks all signals.
- parent restores the caller's original signal mask.
2015-07-02 11:28:06 +02:00
Norbert Federa
1eff1a345e
free can handle NULL perfectly fine
2015-05-11 09:07:39 +02:00
Bernhard Miklautz
a8c44f15c0
winpr: small fixes and cleanups
...
Update the pull request and integrate the latest comments and
suggestions.
* TestLibrary*: fix typo in error message
* TestPipeCreateNamedPipeOverlapped: free possibly allocated memory
* smartcard_pcsc.c: format fix
* process.c: add missing NULL check
* MessageQueue.c: delete possibly initialized critical section on error
2015-04-08 11:34:37 +02:00
Bernhard Miklautz
850de59b55
winpr: add checks for *alloc
...
Add missing checks if memory allocation was successful. Also adapt
caller(s) when possible.
2015-04-08 11:34:37 +02:00
David FORT
52bd4469d9
Make handle operations static
...
This patch moves the handle operations in a static struct.
2015-03-16 10:31:26 +01:00
Armin Novak
465d8ec688
Using new handle cleanup structure
2015-03-11 17:57:01 +01:00
Bernhard Miklautz
582856d142
winpr/process: handle pids <= 0
...
TerminateProcess shouldn't call kill if the PID is <=0 because this has
unwanted effects (and is not what TerminateProcess should do):
* with PID == 0 any process in the same process group gets the signal
sent
* with PID == -1 *every* processes that the running users has
permissions to gets the signal sent
* with PID < -1 the process within the same process group and -PID gets
the signal send
For more details see kill(2).
2015-02-09 14:07:14 +01:00
Armin Novak
4d8c91b0fe
Fixed missing declarations.
2014-12-07 01:15:49 +01:00
Armin Novak
8a6c4396b2
Fixed memory leak.
2014-12-07 01:04:30 +01:00
Martin Haimberger
fa6d551676
changed processhandle handling to new system
2014-12-02 00:08:10 -08:00
Martin Haimberger
128458d380
fixing memoryleak by introducing a nonehandle
...
In CreateProcess the non functional thread
handle was leaked.
2014-12-01 23:53:58 -08:00
Armin Novak
7b9bf1a504
Fixed uninitialized variable.
2014-11-16 17:02:36 +01:00
Armin Novak
53450b6423
Checking setgid before calling initgroups now.
2014-11-16 15:59:26 +01:00
Bernhard Miklautz
24c67267a3
winpr: add cwd support in CreateProcess*
2014-02-13 14:31:11 +01:00
Bernhard Miklautz
204842561b
winpr-thread: fixed bugs in _CreateProcessExA
...
* don't run fork/exec if the command isn't found
* return from forked process with exit
2013-11-21 20:06:21 +01:00
Armin Novak
b34c2d0e1d
Removed unneccessary include <spawn.h>, which broke the build.
2013-11-08 10:27:57 +01:00
Bernhard Miklautz
9f42b41f4e
winpr/thread: use _strdup instead of strdup
2013-10-31 10:43:59 +01:00
Bernhard Miklautz
e51b9b0c03
winpr-thread: fixed issue with commands starting with /
2013-10-31 10:19:55 +01:00
Marc-André Moreau
723e423799
libwinpr-synch: fix build on Mac OS X
2013-10-25 10:03:57 -04:00
Bernhard Miklautz
5c3ce890b1
winpr-thread: close fds before exec new process
...
Close all open file handles, except stdion/stdout/stderr before executing a new process
to make sure that no file descriptors leak or kept open.
2013-10-02 17:21:56 +02:00
Marc-André Moreau
f6ee26f15a
winpr: fix noreturn warnings
2013-09-24 14:35:03 -04:00
Marc-André Moreau
9a124a1d60
libwinpr-thread: initial CreateProcessAsUser implementation
2013-09-24 13:08:29 -04:00
Marc-André Moreau
f363b93819
libwinpr-process: add searching of system path
2013-09-24 11:03:42 -04:00
Marc-André Moreau
4a77f12b32
libwinpr-security: expand stubs
2013-09-24 00:07:48 -04:00
Marc-André Moreau
0506bd1ac6
libwinpr-security: initial stub module
2013-09-23 22:39:28 -04:00
Marc-André Moreau
3d2754e8ed
libwinpr-environment: implement required functions for CreateProcess
2013-09-23 14:44:59 -04:00
Marc-André Moreau
8d142eb85f
libwinpr-thread: initial CreateProcess() implementation
2013-09-22 17:23:00 -04:00
Marc-André Moreau
56672023db
libwinpr-thread: start implementing CommandLineToArgv
2013-09-21 17:16:49 -04:00
Marc-André Moreau
bb30ceb006
mfreerdp: cleanup
2013-08-09 21:23:08 -04:00
Marc-André Moreau
151c2a63e4
libfreerdp-primitives: fix build on Mac OS X
2013-01-19 20:32:14 -05:00
Marc-André Moreau
5b4aaf276f
libfreerdp-core: added reference counter for receive buffers
2013-01-18 13:50:35 -05:00
Marc-André Moreau
78723f019f
libwinpr-synch: stubbed more
2012-09-18 15:51:33 -04:00