Commit Graph

148 Commits

Author SHA1 Message Date
Alexandre Julliard 6f68b774d7 ntdll: Avoid the close-on-exec race with pipe() on kernels that support pipe2(). 2009-07-01 12:13:34 +02:00
Alexandre Julliard 3269d8c726 ntdll: Avoid the close-on-exec race with recvmsg() on kernels that support this. 2009-07-01 12:11:53 +02:00
Alexandre Julliard 7e47d19d9a ntdll: Set the WOW64 flag according to the server supported CPUs. 2009-04-03 17:05:29 +02:00
Alexandre Julliard 279defe66e server: Verify that the client is using a supported CPU type. 2009-04-03 14:59:12 +02:00
Alexandre Julliard 653d2c4a8d server: Store the type of CPU that the client is running on. 2009-04-03 14:49:10 +02:00
Alexandre Julliard b06a919c3c server: Use the thread entry point field to pass the PEB in the initial thread. 2009-04-03 14:30:34 +02:00
Alexandre Julliard cc933f586a ntdll: Moved exit_thread and abort_thread functions to thread.c. 2009-02-20 18:07:41 +01:00
Alexandre Julliard 36334a1b5a ntdll: Call pthread_sigmask directly instead of through the pthread function table. 2009-02-20 18:07:41 +01:00
Alexandre Julliard 5adfec2883 ntdll: Determine the Unix tid for the server directly in ntdll. 2009-02-18 12:30:01 +01:00
Alexandre Julliard fa8643805b server: Make TEB and PEB client_ptr_t instead of void pointers. 2008-12-31 15:09:59 +01:00
Alexandre Julliard c6c335d70e server: Make thread entry points client_ptr_t instead of void pointers. 2008-12-31 15:09:59 +01:00
Alexandre Julliard 2cf868c0be server: Move ldt_copy to the init_process_done request and make it a client_ptr_t. 2008-12-31 15:09:59 +01:00
Alexandre Julliard 1d2d0d5622 server: Send the version with the initial fd so that it can be checked before sending the first request. 2008-12-31 15:09:59 +01:00
Alexandre Julliard f2c4e09e80 server: Make module handles always 64-bit. 2008-12-29 16:47:51 +01:00
Maarten Lankhorst 768160e944 ntdll: Make all exported wine functions CDECL. 2008-12-17 15:02:25 +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 a0c4bfef9d ntdll: Add private function to manage system virtual views instead of abusing NtAllocateVirtualMemory. 2008-11-14 17:40:54 +01:00
Francois Gouget 215738a140 dirent.h is a conditional include now. 2008-10-20 11:37:27 +02:00
Alexandre Julliard 531ff0be26 ntdll: Split the signal setup into process-wide and thread-specific routines. 2008-07-03 20:18:23 +02:00
Alexandre Julliard e44dd0f8f2 wineboot: Automatically update the prefix directory if wine.inf changes. 2008-04-21 15:39:55 +02:00
Alexandre Julliard 870bba3ee1 ntdll: Automatically setup the dosdevices directory if it doesn't exist. 2008-04-21 14:55:32 +02:00
Alexandre Julliard 4c6d2b01cc ntdll: Don't create a temporary dir, run wineprefixcreate directly in the final dir. 2008-04-17 20:40:25 +02:00
Alexandre Julliard 3e8532779f ntdll: Refuse to create the .wine directory if the parent belongs to a different user. 2008-03-21 11:28:31 +01:00
Alexandre Julliard 6d6e9a42b1 ntdll: Added definitions and structures for fiber local storage. 2008-02-29 19:55:34 +01:00
Alexandre Julliard 0f5fc117a2 ntdll: Unblock signals in process init only after the dlls have been imported. 2007-11-19 14:27:07 +01:00
Alexandre Julliard 7378fac505 ntdll: Return an error instead of dying in wine_server_call if the input buffer is invalid. 2007-08-20 14:40:18 +02:00
Dmitry Timoshkov e142779b09 ntdll: Fix compilation warnings in 64-bit mode. 2007-05-23 13:10:20 +02:00
Alexandre Julliard aaf477f292 server: Change the timeout handling to use NT-style 64-bit timeouts everywhere. 2007-04-17 20:08:59 +02:00
Dmitry Timoshkov 335ce754b3 ntdll: Fix a compiler warning. 2007-04-12 16:19:34 +02:00
Alexandre Julliard d85121f199 ntdll: Store the file access and options in the fd cache, and get rid of the dynamic flags.
This avoids server round-trips for all file I/O.
2007-04-10 22:32:46 +02:00
Andrew Talbot 0108667754 ntdll: Replace inline static with static inline. 2007-03-17 20:03:57 +01:00
Alexandre Julliard 8891d6de48 ntdll: Block async signals during process init and thread creation. 2007-01-18 12:23:04 +01:00
Alexandre Julliard c388c58b9f ntdll: Make the server signal mask global. 2007-01-18 12:20:56 +01:00
Alexandre Julliard 735dbc406b ntdll: Make the fd cache section an uninterruptible section. 2007-01-18 12:19:25 +01:00
Alexandre Julliard 027491f6af ntdll: Avoid heap allocation in fd cache. Fixed a couple of races. 2007-01-18 12:18:29 +01:00
Alexandre Julliard 146fb0de02 ntdll: Make the virtual.c critical section uninterruptible by signals.
Based on a patch by Thomas Kho.
2007-01-12 20:15:52 +01:00
Alexandre Julliard c273498ef4 server: Implement process control using Mach primitives for Mac OS.
With help from Ken Thomases.
2006-12-29 20:38:49 +01:00
Alexandre Julliard e054630979 ntdll: Unset the WINESERVERSOCKET variable after we have retrieved it. 2006-11-27 20:05:56 +01:00
Alexandre Julliard 881095d720 ntdll: Setting the needs_close flag in server_get_unix_fd got lost in the previous change. 2006-11-21 22:38:51 +01:00
Alexandre Julliard 83ce958793 ntdll: Store the fd type in the cache and return it in server_get_unix_fd. 2006-11-20 14:15:06 +01:00
Andrew Talbot fb28614a11 ntdll: Cast-qual warning fix. 2006-11-07 15:06:25 +01:00
Alexandre Julliard 9ddb9294da ntdll: Added a server_get_unix_fd function that avoids doing a dup() of the fd when not required. 2006-11-03 11:38:44 +01:00
Alexandre Julliard 28418cc919 ntdll: Maintain a file descriptor cache on the client side. 2006-11-02 20:48:19 +01:00
Alexandre Julliard 30b878b3b6 server: Compute the removable device flag on the server side. 2006-11-01 13:28:05 +01:00
Alexandre Julliard 226a14a483 ntdll: Simplify wine_server_handle_to_fd.
Now that we have a critical section, races are no longer possible.
2006-11-01 13:27:18 +01:00
Hans Leidekker f7b0ba7aa7 ntdll: Win64 printf format warning fixes. 2006-10-18 12:35:26 +02:00
Alexandre Julliard 25d6383a29 ntdll: Fix a race condition at thread exit. 2006-08-04 12:04:39 +02:00
Alexandre Julliard c627601c3b server: Convert the server start time to the abs_time_t type. 2006-07-26 14:50:55 +02:00
Alexandre Julliard b91a6298a7 ntdll: Avoid accessing the TEB after the memory view has been released.
When using reserved areas the memory could potentially be reused right
after the release.
2006-07-25 12:03:56 +02:00
Alexandre Julliard c316f0e47f server: Simplify process creation.
Pass the socket for the new process from the parent through the
environment.
Perform initialisations during the new_process request.
2006-07-19 14:00:10 +02:00
Alexandre Julliard e040e6c4f8 libwine: Added entry for sigprocmask in the pthread functions table. 2006-06-23 12:27:45 +02:00
Andrew Talbot 8e73e411a6 ntdll: Write-strings warnings fix. 2006-06-21 13:53:43 +02:00
Jonathan Ernst 360a3f9142 Update the address of the Free Software Foundation. 2006-05-23 14:11:13 +02:00
Alexandre Julliard bf566139d7 libwine: Added support for executing wine binaries out of the build dir. 2006-03-16 17:35:32 +01:00
Alexandre Julliard dcdb0d0b34 ntdll: Remove no longer used oldcwd in start_server. 2006-02-17 11:41:57 +01:00
Alexandre Julliard 9dffd134dd libwine: Try the current load path in priority before the
WINELOADER/WINESERVER environment variables in wine_exec_wine_binary.
2006-02-16 20:26:55 +01:00
Alexandre Julliard 59797f292e Pass specific access rights to wine_server_handle_to_fd. 2005-12-12 17:15:26 +01:00
Alexandre Julliard a510a7e117 server: Added access rights mapping to file objects. 2005-12-12 16:46:17 +01:00
Alexandre Julliard d02c4a1b82 Make wine_server_fd_to_handle use attributes instead of inherit flag. 2005-12-09 12:22:35 +01:00
Alexandre Julliard 27b1aec925 server: Use attributes instead of inherit flag in file requests. 2005-12-09 12:00:48 +01:00
Ge van Geldorp 1a1583a364 Match PSDK STATUS_* definitions. 2005-11-28 17:32:54 +01:00
Alexandre Julliard b87bce1b99 Added a critical section around the fd cache until the race conditions
can be fixed properly.
2005-10-06 12:31:36 +00:00
Alexandre Julliard baa8bf3c74 Fixed a bug where we could set the wrong handle in the fd cache when
encountering the race condition in wine_server_handle_to_fd.
2005-10-03 18:46:57 +00:00
Alexandre Julliard cdf92942b1 Use the proper size for the cmsg_fd structure on 64-bit plaforms. 2005-09-16 18:52:47 +00:00
Alexandre Julliard 884599112e Use SIZE_T instead of ULONG for the size arguments of the virtual
memory functions.
2005-09-12 10:36:06 +00:00
Alexandre Julliard b4c69e0f12 Fix a file descriptor leak when opening the first file on a removable
device.
2005-09-08 11:04:34 +00:00
Alexandre Julliard 883d3c52d3 Use explicit function pointers for pthread support instead of relying
on ELF symbol overriding.
2005-09-03 15:11:29 +00:00
Alexandre Julliard 54e9e8745d Fixed a file descriptor leak. 2005-09-02 12:31:35 +00:00
Alexandre Julliard f62f6e8fe1 Don't cache file descriptors open on removable devices. 2005-08-24 18:33:50 +00:00
Alexandre Julliard 38502f70eb Added a separate set_handle_cached_fd request instead of abusing
set_handle_info for that.
2005-08-23 18:43:50 +00:00
Alexandre Julliard 4de75b5a6f Use the new RtlExitUserThread function instead of exporting
wine_server_exit_thread.
2005-08-02 09:55:40 +00:00
Alexandre Julliard 9ad5628639 Moved the server start time to the init_thread request and got rid of
the init_process request (based on a patch by Felix Nawothnig).
2005-07-14 10:32:46 +00:00
Alexandre Julliard 11ad6a0ac4 Return the startup info size in the init_thread request, and allocate
the process parameters structure in ntdll instead of kernel.
2005-07-13 19:43:35 +00:00
Alexandre Julliard 0424f38169 Already initialize the process in the first init_thread request
instead of waiting for the init_process request.
2005-07-13 12:12:43 +00:00
Mike McCormack 04f9f1b066 Don't include winbase.h or winerror.h when not necessary. 2005-06-21 09:52:40 +00:00
Alexandre Julliard ab29aa2126 Moved the ntdll per-thread data out of the TEB into a private
structure stored in TEB.SystemReserved2.
2005-06-06 20:04:33 +00:00
Alexandre Julliard 6d07a9c39c Moved the server part of the ExitThread functionality to ntdll. 2005-06-05 18:38:48 +00:00
Francois Gouget 821d4c4645 Fix nativeapi.pm so it knows about AC_HEADER_STAT().
Make the error message about unexpected '#ifdef HAVE_XXX' clearer.
Protect sys/stat.h #includes with the corresponding '#ifdef HAVE_XXX'
check.
2005-05-06 16:22:54 +00:00
Alexandre Julliard 3b5875e35f Replace the wineprefixcreate --update option by a --wait option, and
make the non-wait behavior the default.
2005-04-20 13:12:14 +00:00
Francois Gouget 93416cdaf7 Assorted spelling fixes. 2005-03-23 13:15:18 +00:00
Mike McCormack 049dce7cd0 Mask SIGCHLD to prevent partial writes in the new_process server
call.
2004-10-18 19:34:37 +00:00
Alexandre Julliard 6a27b48895 Fd type is no longer used, get rid of it. 2004-08-18 00:04:58 +00:00
Hans Leidekker a9b4a471a9 Fix signed/unsigned comparison warnings. 2004-08-13 23:53:44 +00:00
Robert Shearman 038d1c4df7 Documentation for Wine client-side server interface. 2004-07-29 02:34:51 +00:00
Alexandre Julliard 08183bdbfd Use wine_exec_wine_binary in all cases to start the server. 2004-05-30 03:11:10 +00:00
Alexandre Julliard b1abca8a5d Initial version of the Wine preloader, used to reserve memory
areas at startup. Based on the work of Mike McCormack.
2004-05-28 20:59:22 +00:00
Alexandre Julliard 04869eb658 Initial support for automatically creating the ~/.wine directory on
startup.
2004-05-11 04:29:18 +00:00
Alexandre Julliard de7fab45bc Fixed an error message. 2004-01-19 21:55:32 +00:00
Alexandre Julliard bb4ddfec28 Added a WINEDEBUG environment variable that allows turning on debug
output as early as possible during startup.
2003-12-05 00:17:41 +00:00
Alexandre Julliard f3f435ffa1 Added wine_server_release_fd function to release the fd returned by
wine_server_handle_to_fd. Fixed a couple of potential fd leaks.
2003-12-01 23:01:12 +00:00
Alexandre Julliard 6281d82e87 Store the thread entry point in the startup info passed to the new
thread instead of the TEB.
2003-11-25 03:42:05 +00:00
Alexandre Julliard daeccba704 Moved the exec_wine_binary function to the wine library, and use it to
exec the wineserver too.
2003-11-11 22:21:29 +00:00
Alexandre Julliard 50fba7ffec Moved the remaining SYSDEPS_* functions to the wine_pthread interface.
Let the pthread library allocate the stack itself.
2003-11-09 01:25:23 +00:00
Alexandre Julliard 4dba172e55 Added server_abort_thread to replace SYSDEPS_AbortThread.
Removed no longer used SIGNAL_Block and SIGNAL_Reset.
Moved some internal ntdll definitions to ntdll_misc.h.
2003-11-06 00:08:05 +00:00
Alexandre Julliard 410e6b7b39 Changed the init code to make libwine load only ntdll and transfer
control to it, and then have ntdll load kernel32 using the normal
loader mechanisms.
Get rid of BUILTIN32_LoadExeModule.
2003-10-10 00:12:17 +00:00
Pavel Roskin 3ec73af37f Include ntdll_misc.h to get the GetCurrentProcess/ThreadId macros. 2003-10-08 19:11:08 +00:00
Alexandre Julliard 87ae825bf8 Get rid of the argv0 and full_argv0 global variables. 2003-10-08 00:45:01 +00:00
Alexandre Julliard 52f692fb9b Moved the wine server client-side support to dlls/ntdll. Removed a
couple of unnecessary functions.
2003-09-18 23:27:19 +00:00