Commit Graph

580 Commits

Author SHA1 Message Date
Alexandre Julliard 996baf6379 Transmit the Windows PATH to child processes using the WINEPATH
variable.
2002-10-09 18:35:01 +00:00
Steve Lustbader 5795143368 Provide stubs for Create/DeleteTimerQueueTimer. 2002-10-07 21:46:02 +00:00
Alexandre Julliard 54f228733a Added process_id_t and thread_it_t types to the server interface
instead of using void*, and removed a number of type casts.
2002-10-03 19:54:57 +00:00
Patrik Stridvall e29345c3bb Added a GNU C implementation of some of the DECLSPEC_ macros and used
them wherever possible.
2002-10-01 18:07:37 +00:00
Dmitry Timoshkov 472d016859 Correct SIZE_T size according to MS SDK.
Change some types to SIZE_T according to MS SDK definitions.
2002-09-21 01:21:00 +00:00
Alexandre Julliard ac7b9d3797 Implemented NtDuplicateObject. 2002-09-16 19:32:50 +00:00
Patrik Stridvall 9c1de6de30 Moved all the content of the DDK files ntdef.h and ntddk.h to
winternl.h.
2002-09-12 22:07:02 +00:00
Patrik Stridvall 9aab47ed24 MSVC compatibility fixes. 2002-08-28 23:42:34 +00:00
Alexandre Julliard dba83c8bfc Added wine_get_user_name function and got rid of some of the getpwuid
portability stuff.
More portable printf formats for 64-bit types.
2002-08-27 18:30:53 +00:00
Dmitry Timoshkov d75aed2c92 Convert most of the file APIs to Unicode. 2002-08-27 01:13:58 +00:00
Patrik Stridvall 57bf45067a MSVC compatibility fixes. 2002-08-26 21:53:24 +00:00
Marcus Meissner 2456149860 Use r2 instead of r13 for TLS, since r13 is used in the ELF32 PPC
ABI.
2002-08-20 00:00:35 +00:00
Patrik Stridvall d016f819f1 Added include protection for unistd.h and sys/time.h. 2002-08-17 00:43:16 +00:00
Alexandre Julliard 66e3183099 Fixed GetLocaleInfoW to handle Unicode properly and completed
implementation.
Update win.ini and registry on startup when language changed.
More logical priority order for locale environment variables.
Implemented SetLocaleInfoW.
Moved some locale functions to kernel32.dll.
2002-08-15 23:18:47 +00:00
Alexandre Julliard befbb0e441 Make behavior of builtin executables closer to that of builtin dlls.
Fixed case sensitivity of builtin executables.
2002-08-14 21:12:58 +00:00
Alexandre Julliard 714156d7ab Fixed race condition when a thread gets killed right after starting. 2002-08-13 18:24:27 +00:00
Alexandre Julliard a5dea216cc Implemented the RtlImage* functions, and use them to replace the
PE_HEADER macro.
2002-08-09 19:57:38 +00:00
Patrik Stridvall 4325554aef Fixed some issues found by winapi_check. 2002-08-09 01:07:29 +00:00
Alexandre Julliard c1dec29304 Authors: Josh DuBois <duboisj@codeweavers.com>, Marcus Meissner <meissner@suse.de>
PowerPC locked exchange functions merged from old ppc patch.
NtCurrentTeb handling for PowerPC (using gpr 13).
2002-08-06 23:51:25 +00:00
Alexandre Julliard 7375597fe2 Fixed some handle type mismatches and added a few casts in prevision
of void* handles.
2002-07-31 19:26:03 +00:00
Alexandre Julliard 99d8b7f755 Moved initial AllocConsole call to kernel init (based on a patch by
Eric Pouech).
2002-07-31 19:19:36 +00:00
Alexandre Julliard 84dc1390ca Remove .so extension from main module file name after loading it so
that GetModuleFileName returns the right thing.
2002-07-31 17:53:42 +00:00
Alexandre Julliard 267ca68253 Fixed HANDLE<->HFILE conversions, since they will be different types
when handles are void*.
2002-07-31 17:20:00 +00:00
Alexandre Julliard 75ce72ea44 Fixed handling of .com binaries (thanks to Chris Morgan). 2002-07-23 21:02:31 +00:00
Alexandre Julliard 65c6d38581 Replace all uses of PREFIX and @function by the __ASM_NAME and
__ASM_FUNC macros.
2002-07-22 20:47:11 +00:00
Alexandre Julliard 3c5eba06d5 Fixed .com binary support. 2002-07-22 20:35:11 +00:00
Alexandre Julliard 4144b5b8fc Create the server directory and socket file in /tmp.
Use fcntl file locking to ensure exclusion on the server socket and to
better recover from crashes.
Flush the registry before closing the socket to avoid timeouts on the
client side.
Moved get_config_dir functionality to libwine.
2002-06-20 23:21:27 +00:00
François Gouget 103295c769 Reset signals to SIG_DFL before starting a child process. 2002-06-13 21:57:38 +00:00
Patrik Stridvall 296c5a6b97 Fixed some issues found by winapi_check. 2002-06-04 22:12:50 +00:00
Alexandre Julliard a061b84ee1 Moved specification of relay and snoop include/exclude functions to
the config file.
Changed spy config a bit to follow the same scheme.
Moved debug option parsing routine into libwine.
2002-06-04 17:48:41 +00:00
Vincent Béron 9a62491660 Removed trailing whitespace. 2002-05-31 23:06:46 +00:00
Alexandre Julliard be367c7270 Added wine_server_fd_to_handle to replace FILE_DupUnixHandle. 2002-05-30 20:40:02 +00:00
Alexandre Julliard 5188574984 Renamed handle_t to obj_handle_t to avoid conflict with rpcdce.h. 2002-05-30 20:12:58 +00:00
Alexandre Julliard 9d80215254 A few optimizations in the process startup requests now that Winelib
apps are started differently from Unix ones.
2002-05-24 21:20:27 +00:00
Alexandre Julliard 55e845d11b Removed most inclusions of options.h.
Removed a few no longer used PROFILE_* functions.
2002-05-23 19:40:18 +00:00
Alexandre Julliard 3536316a31 New loading scheme for Winelib apps, makes them behave like builtin
dlls and takes load order into account. Install them in dlldir.
Improved MODULE_GetBinaryType to recognize ELF binaries.
Added a wrapper script to setup the environment when running directly
from inside the source tree.
2002-05-22 21:32:49 +00:00
Alexandre Julliard cc2ee7636d Renamed Winelib apps to .exe.so to follow the dll naming convention. 2002-05-21 19:42:29 +00:00
Alexandre Julliard 6044307c3a A few fixes for mingw cross-compilation. 2002-05-17 03:31:08 +00:00
Alexandre Julliard 702b158e70 Export global argc/argv variables from libwine and remove the
__wine_get_main_args functions from ntdll.
2002-05-16 23:16:01 +00:00
Alexandre Julliard 59008670be Moved the selector access functions out of winnt.h into libwine. 2002-05-16 20:32:16 +00:00
Alexandre Julliard 9bb05fc48e Specify the complete source file list for a dll inside the main
makefile and get rid of the subdirectories makefiles.
2002-05-14 18:36:54 +00:00
Patrik Stridvall 3751ff045c MS C related changes. 2002-05-04 18:37:08 +00:00
Alexandre Julliard aa04a6f728 Don't prepend '--' to the command line when starting a Windows binary. 2002-04-29 19:34:06 +00:00
Patrik Stridvall 441a7dcf7e Microsoft C related changes. 2002-04-29 18:37:36 +00:00
Alexandre Julliard 5769d1de00 Better support for configure detection of missing types, added check
for ssize_t.
Removed a couple of no longer used portability functions.
Various portability fixes in port.h.
2002-04-26 19:05:15 +00:00
Alexandre Julliard 894b188fcf Moved __ASM_GLOBAL_FUNC macros and interlocked functions to port.[ch] 2002-04-25 21:40:56 +00:00
Alexandre Julliard 874d671e22 Fixed stupid typo in previous patch. 2002-04-15 15:38:10 +00:00
Alexandre Julliard eac3662bc7 Fixed inheriting command-line options from parent process. 2002-04-14 19:36:02 +00:00
Dmitry Timoshkov 1c2fa97e1b Create new console only if the process is a console application. 2002-04-09 01:38:41 +00:00
Martin Wilck 2b47fb3cee - separate cleanly between async scheduling and file IO related issues.
- make the API compatible with other types of async requests (e.g. for
  sockets).
- remove exports of async IO related functions for DLL separation.
2002-04-05 22:53:57 +00:00
Geoffrey Hausheer 03f4e22327 Added test for thread functions. 2002-04-02 19:37:15 +00:00
Chris Morgan 417296c4af Implement OpenThread() winapi call.
Implement a few pthreads functions.
2002-04-02 00:49:05 +00:00
Alexandre Julliard 4ae929784c Hack to make wineconsole work again. 2002-03-31 19:21:17 +00:00
Alexandre Julliard 6543a6522a Transfer the full process startup info as well as the command-line
through the server.
2002-03-29 18:28:56 +00:00
Alexandre Julliard 6db8abaf93 Removed service thread support. 2002-03-23 20:46:41 +00:00
Alexandre Julliard 8d1550d1c6 Export the FILE_GetUnixHandle functionality from ntdll. 2002-03-23 18:48:12 +00:00
Alexandre Julliard aeb566052f Correctly fill parent pid, module size and module name in process and
module snapshots. Based on patches by Eric Pouech and Andreas Mohr.
2002-03-22 00:21:23 +00:00
Mike McCormack 4a6b990ce8 Set an overlapped hEvent before calling any APCs. 2002-03-11 01:19:29 +00:00
Alexandre Julliard 0799c1a780 Added LGPL standard comment, and copyright notices where necessary.
Global replacement of debugtools.h by wine/debug.h.
2002-03-09 23:29:33 +00:00
Alexandre Julliard 64781643dd Do not use the PEB lock as loader lock, use a separate critical
section for that (and for the graphics drivers).
2002-02-02 18:13:50 +00:00
Mike McCormack de339f3021 Implement CancelIo properly. 2002-01-07 18:06:59 +00:00
Alexandre Julliard 5016e921f5 Added support for cleaning up the TEB from inside the exiting thread. 2002-01-07 18:04:07 +00:00
Alexandre Julliard c77c4df35e Allocate debug_info structure at the same time as the TEB.
Removed the TEB cleanup service.
2002-01-07 18:03:14 +00:00
Alexandre Julliard 4c03649d0c Fixed check_async_list calling convention. 2002-01-02 21:50:44 +00:00
Mike McCormack 9119543795 Set an overlapped's hEvent for ReadFile/WriteFile in an overlapped
completion function, not in ReadFileEx or WriteFileEx.
2002-01-01 01:11:32 +00:00
Alexandre Julliard d7b76822ef Use MapLS/UnMapLS instead of SEGPTR_* macros. 2001-12-20 00:19:40 +00:00
Mike McCormack 6f011c0847 - move async activation into the server
- implement async queues
2001-12-20 00:07:05 +00:00
Alexandre Julliard 9fcd89a5d8 Removed unnecessary includes. 2001-12-17 22:12:23 +00:00
Alexandre Julliard 19ffe59027 Call the 32-bit USER signal proc directly instead of using a callout. 2001-12-17 22:10:24 +00:00
Jukka Heinonen 31b8b64682 Implemented pthread_rwlock stubs. 2001-12-11 00:20:18 +00:00
Alexandre Julliard a5d882dc44 Added SYNCHRONIZE access to stdio handles. 2001-12-04 19:50:18 +00:00
Alexandre Julliard 9caa71eef4 Redesign of the server communication protocol to allow arbitrary sized
data to be exchanged.
Split request and reply structures to make backwards compatibility
easier.
Moved many console functions to dlls/kernel, added code page support,
changed a few requests to behave properly with the new protocol.
2001-11-30 18:46:42 +00:00
Eric Pouech 0b83d4cbc6 New console code based on Win32 windows. 2001-11-23 23:04:58 +00:00
Andreas Mohr 9cef2d0b1d - fix wrong hexadecimal GetLastError() output
- misc fixes
- changed my email address
2001-11-19 02:30:01 +00:00
Mike McCormack 309ed4e1f1 Make ConnectNamedPipe work in overlapped mode. 2001-11-07 20:14:45 +00:00
Alexandre Julliard d7c4e4dd58 Return success in CreateProcess when we started a non-Winelib Unix
process.
2001-11-06 22:27:41 +00:00
François Gouget 1425941e29 Fix the #include order for config.h.
Add #include "config.h" directives where needed.
2001-11-06 20:57:11 +00:00
Alexandre Julliard ac2e4f1e3d Don't keep main exe and dlls handles open when the file is on
removable media.
2001-10-25 19:52:12 +00:00
Francois Gouget 386cf6e342 When including 'wine/port.h', include it first.
Remove redundant 'config.h' includes.
2001-10-14 16:25:47 +00:00
Francois Gouget e5ddd26dd7 When including config.h, include it first. 2001-10-14 16:18:52 +00:00
Alexandre Julliard de70b83eda Silence the pthread_kill_other_threads_np FIXME. 2001-10-09 21:59:16 +00:00
Aric Stewart d5a2698b8f Make sure that newly allocated TLS indexes are cleared. 2001-10-03 18:40:10 +00:00
Andreas Mohr b2059fa4c0 Better fake implementation of SetThreadExecutionState. 2001-10-03 18:39:23 +00:00
Bill Medland 7a60dd0d5b Prevent calling null functions. 2001-09-26 23:04:40 +00:00
Francois Gouget 5ee3879ce0 Fix the conversions of a command line to/from an argv array. 2001-09-20 19:05:11 +00:00
Dmitry Timoshkov b3eaa866e2 Better separate some system specific code. 2001-09-11 00:29:24 +00:00
Alexandre Julliard e08a1b5396 Made the Interlocked*Pointer functions static inline since they aren't
exported by the Windows API.
2001-08-17 00:08:20 +00:00
Alexandre Julliard 301df6b5cd Added names to standard critical sections (suggested by Andreas
Mohr).
2001-08-16 18:12:56 +00:00
Alexandre Julliard 181e3d8614 Implemented _CheckNotSysLevel. 2001-08-15 23:32:47 +00:00
Alexandre Julliard b8dd37d239 Don't create the WINEPREFIX directory if it doesn't exist. 2001-08-09 21:22:33 +00:00
Alexandre Julliard e994d5036e Added Interlocked*Pointer functions.
Fixed InterlockedCompareExchange prototype.
2001-08-09 21:21:13 +00:00
Eric Pouech 8c03474b45 Fixed image name value sent to server upon process creation. 2001-08-06 17:48:17 +00:00
Alexandre Julliard 5edf4e1cef Removed a few unnecessary Callouts. 2001-07-26 20:12:54 +00:00
Alexandre Julliard 1922c72b8a Removed unnecessary inclusion of heap.h. 2001-07-25 00:43:29 +00:00
Patrik Stridvall db9230572e Documentation fixes. 2001-07-24 00:58:52 +00:00
Alexandre Julliard 37e9503ae8 Moved server.h to include/wine. 2001-07-19 00:39:09 +00:00
Mike McCormack e61ad3a9f3 Implement overlapped completion routines.
Don't use lpOverlapped->OffsetHigh to store bytes to transfer.
2001-07-12 22:29:41 +00:00
Patrik Stridvall 044855c6ec Documentation fixes. 2001-07-11 18:56:41 +00:00
Patrik Stridvall 01d5e5b071 Documentation fixes. 2001-07-02 19:59:40 +00:00
Patrik Stridvall 3ca9823941 Documentation ordinal fixes. 2001-06-20 23:03:14 +00:00
Bang Jun-Young 289a252902 Use clone() if HAVE_CLONE is defined. 2001-06-15 19:43:51 +00:00
Patrik Stridvall dae8de69e2 Documentation ordinal fixes (using winapi_fixup). 2001-06-13 20:13:18 +00:00
Alexandre Julliard 062f533039 Warning fix. 2001-06-11 20:13:48 +00:00
Alexandre Julliard 3581865229 Support for specifying stack size of Winelib apps. 2001-06-07 22:29:03 +00:00
Alexandre Julliard 8ff37b8f31 Set low-order bit of module handle for LOAD_LIBRARY_AS_DATAFILE.
Cleaned up a few HMODULE/HMODULE16 mismatches.
2001-06-06 20:24:12 +00:00
Alexandre Julliard a67e6486df Removed THREAD_IsWin16. 2001-05-18 23:21:22 +00:00
Marcus Meissner f6eb06b105 Enhanced SetThreadExecutionState stub. 2001-05-18 20:58:43 +00:00
Alexandre Julliard 61d26d79d6 Allow WINESERVER to specify a relative path. 2001-05-09 19:46:39 +00:00
Francois Gouget e17d1a3649 Print the tid in the first column when +tid is specified. 2001-05-08 00:13:38 +00:00
Patrik Stridvall 15a3b74356 Documentation name fixes. 2001-04-27 18:03:51 +00:00
Dmitry Timoshkov 4ea3c26a7d Display thread id instead of %fs in relay trace. 2001-04-09 18:47:10 +00:00
Alexandre Julliard 2ec34e48a3 Added TASK_GetPtr/TASK_GetCurrent functions to get the TDB for a task
handle.
2001-04-04 00:21:05 +00:00
Michael McCormack 1c32a46d5a Use poll() on the client-side during server waits to implement
overlapped I/O.
2001-03-22 20:09:34 +00:00
Alexandre Julliard a5a872efca Use the new send_fd mechanism for the set_console_fd server request. 2001-03-22 19:35:27 +00:00
Jeff Garzik f46eb1db43 Added some inclusions of string.h where necessary. 2001-03-21 20:30:46 +00:00
James Juran 7313b78619 Added stub for SetThreadExecutionState (new function in Win98/2000). 2001-03-13 23:33:26 +00:00
Alexandre Julliard e5dedb1906 Added support for nested server waits (to allow waiting in signal
handlers).
2001-03-08 01:16:41 +00:00
Dmitry Timoshkov 9ec9c2b104 Implemented SetFileApisToOEM, SetFileApisToANSI and AreFileApisANSI. 2001-03-05 20:10:43 +00:00
Alexandre Julliard 0a8f673955 Fixed file descriptor leak. 2001-03-03 00:23:14 +00:00
Alexandre Julliard 8859d77279 Create the server pipes on the client side and transfer them to the
server on thread creation.
Use a single per-process socket instead of one per thread for
transferring file handles between client and server.
2001-03-01 22:13:49 +00:00
Alexandre Julliard f52424055f New mechanism to transfer file descriptors from client to server. 2001-02-28 21:45:23 +00:00
Alexandre Julliard 9ee9efff1b Use the standard CreateThread routine to create 16-bit tasks instead
of duplicating the code.
2001-02-28 05:29:50 +00:00
Alexandre Julliard 67a749999a New set of macros for server calls; makes requests without variable
part somewhat faster.
2001-02-27 02:09:16 +00:00
Alexandre Julliard 505cf3965c Moved PTHREAD_init_done out of the #ifdef. 2001-02-27 01:54:20 +00:00
Alexandre Julliard 7f187e5043 Only create the system heap when we actually need it. 2001-02-23 01:37:05 +00:00
Alexandre Julliard d90e964cee Added separate server pipe to wait on blocking server calls.
Send the complete request/reply through the request fifo instead of
just a dummy byte.
Convert error status to text in server reply tracing.
2001-02-21 04:21:50 +00:00
Alexandre Julliard 5f195f8c01 Small server protocol cleanups. 2001-02-20 23:45:07 +00:00
Alexandre Julliard a4bc5a2138 Pass the stdin/stdout handles on startup to use as console (based on a
patch by Eric Pouech).
2001-02-16 19:08:19 +00:00
Patrik Stridvall d0a41774a3 Documentation ordinal fixes. 2001-02-14 23:11:17 +00:00
Josh DuBois 169adf5c64 More verbose error messages when application load fails. 2001-02-13 20:23:45 +00:00
Alexandre Julliard e9936d96e1 Changed wait_process and wait_debug_event requests to never block;
waiting is always done through WaitForSingleObject().
2001-01-26 00:22:26 +00:00
Josh DuBois ec33cd6959 SERVICE_CreateServiceTable still returned TRUE if CreateThread failed. 2001-01-17 21:50:17 +00:00
Alexandre Julliard 598412ed6a Cleaned up the various errno location tests in configure.
Added (h_)errno_location pointers in the library that allow remapping
the calls in higher level dlls.
Moved X11DRV_CritSection out of sysdeps.c and into x11drv.dll.
2001-01-17 20:22:22 +00:00
Alexandre Julliard 8efd454067 Removed CALL_LARGE_STACK support. 2001-01-15 22:30:50 +00:00
Alexandre Julliard 7d5bc5c3f9 Removed some direct accesses to the 16-bit task structure. 2001-01-15 20:09:09 +00:00
Alexandre Julliard a5ed3b19eb Removed obsolete get_req_buffer() function. 2001-01-12 19:58:52 +00:00
François Gouget 1dac6eac63 SERVICE_AddObject check for NULL handles in addition to
INVALID_HANDLE_VALUE.
2001-01-09 20:51:36 +00:00
Alexandre Julliard 105b0f4e64 Use the exe name and file handle we got from the server also when
starting Win16 or DOS programs, to avoid depending on the contents of
the command-line.
2001-01-06 01:55:49 +00:00
Alexandre Julliard 2362380b64 Added separate queue for "system" APCs that get called even when the
thread is not in an alertable state.
Specify the select_request timeout as absolute value so that we can
restart the request when interrupted.
2001-01-06 01:48:51 +00:00
François Gouget da2b6a9f26 Fixed some HFILE vs. HANDLE mismatches.
If not used the last parameter of CreateFile must be 0, not -1.
2001-01-06 01:29:18 +00:00
Alexandre Julliard ad29b90d08 Send the exe file handle in init_process_done request. 2001-01-05 22:24:15 +00:00
Alexandre Julliard 8081e5a1e5 Added handle_t type to server interface so that we can make handles
pointers later on.
Always use 0 to signal invalid handle in server requests.
2001-01-05 04:08:07 +00:00
Alexandre Julliard 1dc755360b Pass the application name also when starting a Unix app, and use it to
load the main exe .so file.
Fixed bug in directory handling in PROCESS_Create.
2001-01-03 21:53:33 +00:00
Andreas Mohr a6d83ebae1 - clarify many error messages
- add data corruption warning to README file
2000-12-27 04:02:46 +00:00
François Gouget 55146dbe18 Fixed a few type clashes in preparation for the switch to STRICT. 2000-12-24 20:33:01 +00:00
Alexandre Julliard 2930b9c461 Fixed copy/paste bug (thanks to Gerard Patel). 2000-12-22 20:32:23 +00:00
Alexandre Julliard d549f6909e Use a separate FIFO pair for server requests that don't need to pass a
file descriptor.
Associate file descriptors with handles on the server side so that we
don't need to pass the fd every time the client wants to use it.
2000-12-22 02:04:15 +00:00
Alexandre Julliard 1ab243bac1 Merged the get_read_fd and get_write_fd requests. 2000-12-19 02:12:45 +00:00
Alexandre Julliard f45f66beff Commented out large stack init now that thread stacks are at least 1Mb. 2000-12-14 19:30:01 +00:00
Alexandre Julliard db0747d095 Removed some unnecessary includes.
Got rid of ldt.h.
2000-12-13 20:23:41 +00:00