Commit Graph

316 Commits

Author SHA1 Message Date
Sebastian Lackner d48e3a0bea kernel32: Fix file handle leak in exec_process (Coverity). 2015-03-17 14:52:08 +09:00
Austin English fa80425242 kernel32: Add GetSystemFirmwareTable stub. 2015-01-26 12:06:04 +01:00
Hans Leidekker b51476ad42 kernel32: Retrieve the system affinity mask from ntdll. 2015-01-21 15:30:37 +01:00
Qian Hong bfd088dbc6 kernel32: Fixed buffer size on 64bit in IsWow64Process. 2015-01-16 20:15:32 +01:00
André Hentschel e404d7fea3 kernel32: Set COMPUTERNAME environment variable. 2014-10-28 14:04:54 +09:00
Sebastian Lackner d74c9e3ec2 kernel32: Implement GetProcessDEPPolicy. 2014-10-21 18:51:19 +09:00
Alexandre Julliard ea1689e7b0 kernel32: Add detection of fake dlls when determining a binary type. 2014-08-22 12:44:24 +02:00
Austin English fd6c5490df kernel32: Add a stub for UnregisterApplicationRestart. 2014-06-18 16:31:14 +02:00
Alexandre Julliard 598c5816d9 kernel32: Don't allocate FLS index 0. 2014-03-28 17:46:03 +01:00
Austin English 77bd74fa25 kernel32: Improve GetNumaHighestNodeNumber stub. 2014-03-18 19:05:33 +01:00
Alexandre Julliard 7066ce0b1e kernel32: Set correct binary type for COM and PIF files. 2014-02-12 19:15:11 +01:00
André Hentschel 8439cc9da4 kernel32: Use boolean return values in boolean functions. 2014-01-30 14:51:37 +01:00
Austin English ea765ae005 kernel32: Quiet a noisy FIXME. 2014-01-29 14:58:35 +01:00
Alexandre Julliard 1e78c99388 kernel32: Validate the architecture of newly created processes on the server side. 2013-11-22 12:32:48 +01:00
Alexandre Julliard f2c54dba01 kernel32: Determine the module architecture for all binary types. 2013-11-22 12:25:30 +01:00
Frédéric Delanoy baf491b80b kernel32: Use BOOL type where appropriate. 2013-10-03 12:54:37 +02:00
Frédéric Delanoy 6918c86544 kernel32: Use BOOL type where appropriate. 2013-09-26 21:34:13 +02:00
Alexandre Julliard 3799d55d9b ntdll: Implement RtlExitUserProcess. 2013-07-19 12:15:15 +02:00
Alexandre Julliard c01574d426 kernel32: Acquire the loader lock before shutting down the process. 2013-07-08 15:15:43 +02:00
Dmitry Timoshkov bfcdf6df8e kernel32: Terminate threads before unloading DLLs on process exit. 2013-05-17 12:29:41 +02:00
Dmitry Timoshkov 77f222505c kernel32: Hold PEB lock during process exit. 2013-05-07 11:26:02 +02:00
Dmitry Timoshkov 37f7e7ea0c kernel32: TerminateProcess unlike NtTerminateProcess is supposed to fail with process == 0. 2013-04-12 11:49:17 +02:00
Alexandre Julliard 9181b7e876 kernel32: Fetch the system information only once the memory limits are correct. 2013-04-04 13:28:45 +02:00
Alexandre Julliard 62f22dd4e3 kernel32: Retrieve the system info from ntdll on startup. 2013-01-09 12:15:22 +01:00
Maarten Lankhorst 7457f37e4a ntdll: Set SO_PASSCRED before connecting to eliminate a race condition in obtaining server_pid. 2012-10-18 19:31:15 +02:00
Piotr Caban c6ac0d0fcc kernel32: Added GetLogicalProcessorInformation implementation. 2012-09-04 16:15:56 +02:00
Austin English b4432a6274 kernel32: Only print a fixme once for FlushProcessWriteBuffers. 2012-05-03 11:51:38 +02:00
Austin English 80ef24b057 kernel32: Add a stub for FlushProcessWriteBuffers. 2012-05-02 20:11:54 +02:00
Alexandre Julliard e31dd6dba1 kernel32: Only change the Unix current after exec_process to make sure it's inherited properly. 2012-01-31 13:44:40 +01:00
Alexandre Julliard fe7652d0af kernel32: Don't run a nonexistent builtin from CreateProcess when filename is not specified. 2011-12-14 19:35:10 +01:00
Ken Thomases 5bac5ee26e kernel32: Use double-fork to avoid leaving zombie processes. 2011-12-01 10:27:38 +01:00
Ken Thomases f658feb70f kernel32: No need to reset SIGCHLD because we're not changing it anymore. 2011-12-01 10:11:06 +01:00
Alex Henrie 3aff781f63 kernel32: Output message to stderr in current Unix codepage.
Fixes a bug in which the command "wine /." outputs a garbled error message in languages other than English.
Supersedes "kernel32: Output message to stderr in UTF-8"
2011-10-26 12:41:34 +02:00
Marcus Meissner 615e9572f1 kernel32: Avoid shadowing variables "a", "nt" and "fd". 2011-10-24 12:34:52 +02:00
Austin English d4ec0a19c0 kernel32: Add a stub for GetProcessDEPPolicy. 2011-10-20 11:06:22 +02:00
Francois Gouget a2af890483 kernel32: Fix the NT path returned by QueryFullProcessImageName(). 2011-10-04 15:23:03 -05:00
Alexandre Julliard 3e4a9cb4d4 kernel32: Include system headers before Windows headers. 2011-09-06 13:25:50 +02:00
Francois Gouget 3b239dbc62 kernel32: Implement K32GetProcessImageFileNameA(). 2011-08-05 15:22:47 +02:00
Austin English 1344aec642 kernel32: Stub a few of the numa functions. 2011-06-28 11:57:50 -05:00
Alexandre Julliard 1b0d2330c9 kernel32: Create an orphaned process in exec_process so that all initialization is done anew in the child process. 2011-06-16 22:46:25 +02:00
Austin English e701ca90aa kernel32: Add a stub for RegisterApplicationRecoveryCallback. 2011-05-23 13:16:25 +02:00
Austin English ac2c5039c9 kernel32: Add a stub for ApplicationRecoveryInProgress. 2011-05-23 13:16:25 +02:00
Austin English d7c9723bc1 kernel32: Add a stub for ApplicationRecoveryFinished. 2011-05-23 13:16:24 +02:00
Jacek Caban 8379893f96 kernel32: Moved K32EnumProcessModules to module.c. 2011-05-12 14:28:58 +02:00
Jacek Caban 4ed94f7939 kernel32: Moved GetProcessMemoryInfo implementation to kernel32. 2011-05-12 14:28:45 +02:00
Jacek Caban c1c70c62cb kernel32: Moved QueryWorkingSet and QueryWorkingSetEx implementation to kernel32. 2011-05-11 14:56:49 +02:00
Jacek Caban 362a7d571e kernel32: Moved EnumProcessModules implementation to kernel32. 2011-05-10 14:04:55 +02:00
Jacek Caban 1fa36c85bd kernel32: Moved EnumProcesses implementation to kernel32. 2011-05-04 17:26:45 +02:00
Jacek Caban 25023c1302 psapi: Forward EmptyWorkingSet implementation to kernel32. 2011-04-19 18:29:24 +02:00
Alexandre Julliard baa04014eb ntdll: Implement the ProcessAffinityMask case in NtQueryInformationProcess. 2011-04-14 19:57:34 +02:00
Jacek Caban 81aa05eab6 kernel32: Moved GetProcessImageFileName implementation from psapi to kernel32. 2011-04-08 17:06:46 +02:00
Maarten Lankhorst 8b163d6fb6 kernel32: CreateProcessA should not call CreateProcessW directly. 2011-03-17 10:58:24 +01:00
Igor Egorov b970462825 kernel32: Add stderr redirection for native Unix programs started from Windows program. 2011-02-15 17:24:26 +01:00
Henri Verbeet 4c200a2050 kernel32: Fix some memory leaks in set_wow64_environment(). 2010-12-22 12:48:47 +01:00
Marcus Meissner a601c75db3 kernel32: Fixed size to GetEnvironmentVariableW. 2010-12-17 13:26:01 +01:00
Alexandre Julliard 01af5452c5 kernel32: Update the environment variables that vary across 32-bit/64-bit/Wow64. 2010-12-14 22:48:44 +01:00
Ken Thomases 47dea9b670 loader: On Mac, reserve the process's original thread for the frameworks.
The frameworks expect the original thread to run its run loop, so input
sources (like distributed notifications) get processed.  For example,
Core Audio on Snow Leopard doesn't track changes in the default ouput
device, such as when headphones are plugged in, without this.
2010-11-16 11:47:58 +01:00
Detlef Riekenberg 41bd5d4efa kernel32: Add a stub for SetProcessDEPPolicy. 2010-11-12 15:49:48 +01:00
Andrew Nguyen 6d605e68f4 kernel32: Make the return type of LoadModule match the Windows SDK. 2010-10-11 17:11:28 +02:00
Austin English e99612c4c8 kernel32: Add a stub for GetSystemDEPPolicy. 2010-09-22 12:47:39 +02:00
Eric Pouech 45ade6c2f5 ntdll: Allocate a console (without renderer) when starting a program from unix console. 2010-09-01 14:01:03 +02:00
André Hentschel 0029e64e4e kernel32: Better describe an error. 2010-08-30 11:26:29 +02:00
Juan Lang 5e87ca772e kernel32: Implement GetErrorMode/SetErrorMode on top of NTDLL. 2010-08-16 16:39:58 +02:00
Paul Chitescu 2e97746340 kernel32: Declare and add stubs for GetLogicalProcessorInformation(Ex). 2010-07-20 12:56:26 +02:00
Francois Gouget 7bf45b4c35 kernel32: GetProcessDword() is unused so remove it.
We use krnl386.exe16's implementation instead.
2010-06-24 10:35:21 +02:00
Alexandre Julliard 2b99e1c17d kernel32: Make sure we always have a valid process title. 2010-06-08 11:53:58 +02:00
Alexandre Julliard a10e9ba092 kernel32: Unalign the stack on process startup to work around Doom3 bug. 2010-05-28 11:20:28 +02:00
Alexandre Julliard 775e5f7b3e kernel32: Reset stdio handles when they are closed. 2010-05-26 23:16:34 +02:00
Alexandre Julliard f3831cf2cb configure: Rename the 64-bit loader to wine64 and keep wine always for the 32-bit loader.
This provides better backwards compatibility when running with a
32-bit prefix.
2010-05-17 12:42:30 +02:00
Alexandre Julliard ac69fcb14f server: Check that the prefix type can support the client architecture. 2010-05-04 20:27:20 +02:00
Marcus Meissner 35dfd34a9f kernel32: Initialize env (Coverity). 2010-03-31 11:44:30 +02:00
Alexandre Julliard 02aef1c3b8 kernel32: Increase the wineboot timeout. 2010-03-30 16:55:11 +02:00
Alexandre Julliard be0db98a23 kernel32: Fix processing of spaces in command line for builtin exes. 2010-03-29 19:37:35 +02:00
Alexandre Julliard 808c29b908 kernel32: Add support for starting binaries in 32/64-bit mode from the other mode. 2010-03-29 17:57:15 +02:00
André Hentschel a9a7d963c2 kernel32: Make process traces aware of 64-bit. 2010-03-25 16:08:27 +01:00
Alexandre Julliard c7bed19c0b kernel32: Don't try to open builtin exe files during CreateProcess, only check the path syntax. 2010-03-18 13:46:22 +01:00
Reece Dunn 1b46c0660d kernel32/tests: Add a test case for calling TlsFree on a freed index. 2010-03-03 11:49:35 +01:00
Alexandre Julliard 6beb82e2d6 kernel32: Append the user PATH value to the system one. 2010-01-28 14:53:24 +01:00
Alexandre Julliard 17dea24f48 kernel32: Make sure the volatile environment is always loaded. 2010-01-28 13:35:03 +01:00
Alexandre Julliard 0daf0528da kernel32: Load USERNAME and USERPROFILE from the volatile environment. 2010-01-28 13:34:05 +01:00
Alexandre Julliard 2c0e31cfdc kernel32: Treat PWD as a special environment variable. 2010-01-28 13:29:53 +01:00
Michael Stefaniuc 4f60b6bf91 kernel32: Add missing stdarg.h includes. 2009-12-31 12:12:17 +01:00
Alexandre Julliard 8268ed9783 kernel32: Do not include 16-bit headers in 32-bit files. 2009-12-30 16:21:56 +01:00
Andrew Nguyen 9294882b94 kernel32: Ignore empty environment values from registry. 2009-12-24 17:00:08 +01:00
Andrew Nguyen 542feda6b8 ntdll: Use the HKCU\Volatile Environment key when generating the initial process environment. 2009-12-24 16:59:00 +01:00
Dmitry Timoshkov 2536bfd1d8 kernel32: Explicitly treat the current working directory name as a unix one. 2009-12-04 14:42:05 +01:00
Paul Chitescu 590cc1ad55 kernel32: Reduce registry access to KEY_READ wherever possible. 2009-11-30 16:33:54 +01:00
Alexandre Julliard a045122754 kernel32: Pass the exe name as argument to FormatMessage. 2009-11-29 16:42:50 +01:00
Alexandre Julliard c9e25dbe35 kernel32: Set the 64-bit flag for builtin executables based on their load directory. 2009-10-28 11:09:20 +01:00
Alexandre Julliard 4313c95526 kernel32: Retrieve the executable information as soon as we open the file. 2009-10-28 11:03:05 +01:00
Alexandre Julliard 28f13f83a6 kernel32: Add a structure to store all the information about an executable. 2009-10-28 11:03:04 +01:00
Alexandre Julliard 072b737059 kernel32: Specify the full application path when starting wineboot.exe. 2009-10-28 10:55:35 +01:00
Alexandre Julliard c9689897d9 kernel32: Create the syswow64 directory if necessary. 2009-10-22 19:52:12 +02:00
Alexandre Julliard f86d10ffb6 kernel32: Make sure the 32/64-bit state of the wineprefix matches the binary we are running. 2009-10-21 19:45:17 +02:00
Alexandre Julliard 87894c5f7b kernel32: Use the PWD variable to set the initial current directory. 2009-10-15 12:06:23 +02:00
Stefan Dösinger 282cc71aed kernel32: Make some functions hookable. 2009-10-14 12:21:05 +02:00
Alexandre Julliard e0ce6dc32e kernel32: Move Get/SetProcessDword to kernel16.c. 2009-10-08 11:12:21 +02:00
Alexandre Julliard 6404817de4 kernel32: Move the 16-bit handle functions to kernel16.c. 2009-10-08 11:12:14 +02:00
Alexandre Julliard b6e0b3428d kernel32: Move the 16-bit thread and process functions to kernel16.c. 2009-10-08 11:11:45 +02:00
Alexandre Julliard c9d85dd576 ntdll: Route the process startup through the platform-specific thread startup code. 2009-08-29 11:24:44 +02:00
Alexandre Julliard da8acbc47d server: Define an architecture-independent structure for process startup info. 2009-08-21 20:00:12 +02:00
Alexandre Julliard e49918b5a2 kernel32: Use a longer wineboot timeout for the initial prefix creation. 2009-08-18 12:17:04 +02:00
Alexandre Julliard d492389d23 kernel32: Don't wait for wineboot once the process is no longer running. 2009-08-18 12:14:12 +02:00
Alexandre Julliard a9feb3d271 kernel32: Check the 64-bit flag when starting a process. 2009-08-12 17:25:59 +02:00
Alexandre Julliard f274d1d03f kernel32: Change MODULE_GetBinaryType return value to make dll a flag instead of a type. 2009-08-12 17:04:38 +02:00
Andrew Nguyen f63f4026cf kernel32: Implement WTSGetActiveConsoleSessionId as a stub. 2009-07-16 11:21:21 +02:00
Alexandre Julliard 03d6da0894 kernel32: Add implementation of GetSystemWow64DirectoryA/W. 2009-07-07 11:42:03 +02:00
Alexandre Julliard 887af61219 kernel32: Avoid the close-on-exec race with pipe() on kernels that support pipe2(). 2009-07-01 12:13:46 +02:00
Alexandre Julliard d303d9dc29 kernel32: Add appropriate stdcall decorations to assembly functions. 2009-06-15 13:42:26 +02:00
Stefan Leichter 57f9236741 kernel32: Implement QueryFullProcessImageNameA. 2009-06-11 13:23:25 +02:00
Andrew Nguyen 7c2c6a575c kernel32: Correct the last error of CreateProcessW with an empty command line string. 2009-05-18 14:31:07 +02:00
Andrew Nguyen 645e59c490 kernel32: Correct the last error of CreateProcessW with an empty application name string. 2009-05-18 14:31:07 +02:00
Andrew Nguyen 6c27fa1038 kernel32: Don't validate the command line parameter of CreateProcessW. 2009-05-18 14:31:07 +02:00
Alexandre Julliard c6083037a8 kernel32: Make sure the string is properly terminated in QueryFullProcessImageNameW. 2009-04-22 16:56:37 +02:00
Alexandre Julliard fc87182d19 kernel32: Set argv[0] to the full path of the binary when starting from Unix. 2009-04-02 12:59:32 +02:00
Alexandre Julliard 7b7f35aee5 kernel32: Use __wine_main_environ by default, environ is broken on FreeBSD too. 2009-04-02 12:03:35 +02:00
Alexandre Julliard 8edf353bd2 libwine: Export __wine_get_main_environment on Mac OS to make sure it's reevaluated when used. 2009-04-01 15:07:42 +02:00
Mikołaj Zalewski 9c9532265d kernel32: Implement QueryFullProcessImageFileNameW. 2009-03-31 18:05:55 +02:00
Alexandre Julliard f4a19c8463 loader: Merge the first and second stage loaders into a single wine binary. 2009-03-10 18:22:38 +01:00
Alexandre Julliard 825d7fda6c kernel32: Make sure the process has an entry point before starting it. 2009-02-26 13:25:40 +01:00
Alexandre Julliard 3d0cf96f01 kernel32: Print a nicer error message when 16-bit/DOS apps cannot be launched. 2009-02-24 16:57:25 +01:00
Francois Gouget 4a8e1feeb4 kernel32: Fix an off-by-one error in build_envp().
We need to take into account the trailing NULL in envp.
2009-02-18 12:17:41 +01:00
Marcus Meissner 5493b77290 kernel32: Handle username conversion failure (Coverity). 2009-02-02 15:21:43 +01:00
Nikolay Sivov 2013cdc604 kernel32: Implemented GetErrorMode(). 2009-01-13 16:39:45 +01:00
Maarten Lankhorst 70441d5bb8 kernel32: Change all functions to use CDECL. 2008-12-23 13:09:45 +01:00
Maarten Lankhorst 768160e944 ntdll: Make all exported wine functions CDECL. 2008-12-17 15:02:25 +01:00
Austin English 7a92db4e8b kernel32: Convert a warn to an err. 2008-12-10 11:23:37 +01:00
Alexandre Julliard d1b3d484f7 server: Add functions for conversions between server object handles and pointer-style handles. 2008-12-08 16:05:17 +01:00
Alexandre Julliard fea2aa55d0 include: Fix the 64-bit value of magic handle constants. 2008-12-08 15:51:22 +01:00
Alexandre Julliard a4e688218c kernel32: Call build_envp in the parent process so that it can use the Win32 heap. 2008-10-31 14:55:33 +01:00
Alexandre Julliard da03d9355d kernel32: Call build_argv in the parent process so that it can use the Win32 heap. 2008-10-31 14:02:04 +01:00
Alexandre Julliard 5002bd21d1 kernel32: Moved the pthread emulation support to ntdll. 2008-10-30 15:39:50 +01:00
Dmitry Timoshkov 228c52de57 kernel32: Add support for foreign process handles in GetProcessVersion. 2008-10-16 11:21:40 +02:00
Andrey Turkin 7ba54ab45c kernel32: Add ExitProcess wrapper to please Shrinker. 2008-10-08 14:26:19 +02:00
Alexandre Julliard 5861612e86 kernel32: Set the stdin/stdout file descriptors to match the specified Win32 handles when possible. 2008-07-10 12:20:56 +02:00
Louis Lenders d9fa87382e kernel32: Fix typo in SetProcessAffinityMask. 2008-06-20 11:18:06 +02:00
Alexandre Julliard 12de7d7591 kernel32: Move the wineboot event wait so that 16-bit processes wait too. 2008-05-13 20:26:37 +02:00
Alexandre Julliard 6477a1c1bf kernel32: Set the USERPROFILE and ALLUSERSPROFILE environment variables based on the ProfileList registry keys. 2008-05-06 16:07:13 +02:00
Dmitry Timoshkov fab78cdc8d kernel32: Print in the trace pid and tid of the created process. 2008-05-06 11:25:50 +02:00
Alexandre Julliard 4073805aeb kernel32: If necessary reload the environment after wineboot has run. 2008-04-24 11:53:45 +02:00
Alexandre Julliard 05e55edd82 kernel32: Create the windows and system directories if necessary. 2008-04-17 20:33:47 +02:00
Alexandre Julliard 7a7ef6a64c kernel32: Moved the allocation of the process stack to ntdll. 2008-03-26 17:08:38 +01:00
Anatoly Lyutin f773e148b0 kernel32: Implement IsWow64Process. 2008-03-24 20:39:22 +01:00
Dmitry Timoshkov aebcbf0f6e kernel32: Return upper cased drive letters in paths, some applications depend on it. 2008-02-27 14:52:26 +01:00
Alistair Leslie-Hughes 9d36b416a7 kernel32: Add RegisterApplicationRestart stub. 2008-02-05 12:06:09 +01:00
Gerald Pfeifer 39f672798b kernel32: Use setproctitle where applicable to set the process name.
Based on a patch by Kris Moore.
2008-01-21 11:52:33 +01:00
Alexandre Julliard 9261c63ab3 kernel32: Fix the system affinity returned by GetProcessAffinityMask. 2008-01-16 21:01:33 +01:00
Alexandre Julliard 1d6d080d4b wineboot: Add a --init option used when launched automatically at startup.
Don't execute Run entries in that case.
2008-01-16 19:51:14 +01:00
Alexandre Julliard 9c00a78da5 kernel32: Don't inherit stdin/stdout handles in wineboot. 2008-01-14 15:49:56 +01:00
Alexandre Julliard 5a3132343d kernel32: Close the stdio handles when creating a detached process. 2008-01-14 15:49:12 +01:00
Alexandre Julliard d55b2de574 kernel32: Launch wineboot on first startup of a wine process. 2008-01-04 12:51:04 +01:00
Alexandre Julliard 28aed6d9c8 kernel32: Initialize MaximumLength of the user params directory too. 2007-12-23 13:54:31 +01:00
Alexandre Julliard a4269c8eed kernel32: Store the initial directory as a full path in the process parameters. 2007-12-21 12:42:28 +01:00
Vitaliy Margolen eb31959ab9 kernel32: Implement GetProcessHandleCount. 2007-11-01 12:41:48 +01:00
Louis Lenders 7475599b40 kernel32: Set USERNAME environment variable. 2007-08-17 12:21:45 +02:00
Dmitry Timoshkov a67b689121 kernel32: Fix compilation warnings in 64-bit mode. 2007-05-23 13:13:54 +02:00
Andrew Talbot fe933b022a kernel32: Exclude unused headers. 2007-05-07 20:34:58 +02:00
Vitaliy Margolen 2bd4d6b180 kernel32: Fix off by one error. 2007-04-30 12:32:58 +02:00
Andrew Talbot 503b338e88 kernel32: Replace inline static with static inline. 2007-03-17 20:03:39 +01:00
Konstantin Kondratyuk aefbef00f9 kernel32: Allow to execute .cmd files. 2007-03-07 21:34:03 +01:00
Francois Gouget bb8e625b5b Assorted spelling fixes. 2006-12-05 10:31:47 +01:00
Mike McCormack f8829297da kernel32: Downgrade a FIXME to a WARN. 2006-11-16 12:45:09 +01:00
Alexandre Julliard ed58b1bad0 kernel32: Better workaround for the lack of locale environment variables on MacOS. 2006-11-07 18:24:15 +01:00
Dmitry Timoshkov 5ace8745ce kernel32: Exit from initial thread with ExitThread not by ExitProcess. 2006-10-24 20:49:14 +02:00
Michael Stefaniuc 8c38b88068 kernel32: Win64 printf format warning fixes. 2006-10-13 12:08:25 +02:00
Alexandre Julliard 489d87d1e5 kernel32: Renamed the kernel directory to kernel32.
Also get rid of the kernel/messages subdirectory.
2006-09-12 13:34:06 +02:00