Commit Graph

531 Commits

Author SHA1 Message Date
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
Alexandre Julliard 6c8edaa667 Use getpagesize() instead of VIRTUAL_GetPageSize(). 2000-12-13 20:22:47 +00:00
Alexandre Julliard 982a223f36 Replaced PTR_SEG_TO_LIN macro by exported MapSL function.
Fixed a few ptr/segptr mismatches.
Moved CONV_RECT/POINT macros to wingdi16.h.
2000-12-13 20:20:09 +00:00
Alexandre Julliard 751625e089 Got rid of main.h. 2000-12-12 00:50:19 +00:00
Alexandre Julliard becb9a353b Moved all Wine internal definitions out of process.h. 2000-12-11 03:48:15 +00:00
Alexandre Julliard cc7aef32b7 Display an error message if loading a Winelib app failed (suggested by
Francois Gouget).
2000-12-03 03:17:41 +00:00
Patrik Stridvall 2b3aa616e8 Added/modified documentation for function arguments. 2000-12-01 23:58:28 +00:00
Alexandre Julliard ef57e18f99 Removed some unnecessary includes. 2000-12-01 21:32:55 +00:00
Alexandre Julliard 42a7320388 Export the wine server functions from ntdll. 2000-11-30 18:51:58 +00:00
Alexandre Julliard 71d68bbae0 Use the HEAP_WINE_SEGPTR flag to specify allocations on the segptr heap.
Added a hack in MapLS to recognize such allocations and use the heap
selector in this case.
2000-11-30 01:19:51 +00:00
Alexandre Julliard e296bf3717 Renamed CallTo16* functions to wine_call_to_16* and export them from
kernel32.spec.
2000-11-29 19:39:30 +00:00
Alexandre Julliard 27bb311d70 Added implementation of lstat to port.c. 2000-11-29 17:48:06 +00:00
Dimitrie O. Paun 529da54394 Require {DECLARE,DEFAULT}_DEBUG_CHANNEL statements to end in a ; 2000-11-27 23:54:25 +00:00
Andreas Mohr a59324db91 Cosmetics. 2000-11-25 01:40:10 +00:00
Dimitrie O. Paun 0b7a7bbc06 Include config.h in files that test for constants defined in it. 2000-11-25 01:31:17 +00:00
Alexandre Julliard ab687979fd Moved standard syslevel APIs declaration to winbase.h.
Use exported syslevel function wherever possible.
Moved SEGPTR declaration to windef16.h.
2000-11-15 23:41:46 +00:00
Alexandre Julliard 914406f854 Moved LDT handling to libwine.so. Changed the interface to use the
exported LDT_ENTRY structure.
2000-11-14 01:54:49 +00:00
Mike McCormack 1eac1911c7 - created server object for handling async i/o
- implemented WaitCommEvent with the EV_RXCHAR flag
- implemented GetOverlappedResult
2000-11-13 19:27:21 +00:00
Alexandre Julliard 8c540c657e Replaced a few internal functions by exported ones. 2000-11-13 04:16:05 +00:00
Ove Kaaven ccc538beac Unix98 pthread_rwlock* stubs for glibc2.2 compatibility. 2000-11-13 04:14:49 +00:00
Alexandre Julliard 591832ec2e Added support for loading a Winelib app linked as a .so from the wine
launcher, based on the value of argv[0].
2000-11-10 01:38:28 +00:00
Alexandre Julliard 4e951ea25b Check all Callouts function pointers for NULL before using them.
Don't load USER dll if not needed by the application.
2000-11-08 22:47:53 +00:00
Alexandre Julliard e087508f57 Moved builtin dll registration to libwine.
Changed process initialization to not load imported dlls too early.
2000-11-08 04:33:20 +00:00
Alexandre Julliard 8d1462b614 pthread_atfork: don't call critical section functions before
initialization is done.
2000-11-07 20:32:52 +00:00
Alexandre Julliard 908464d448 Authors: Andreas Mohr <amohr@codeweavers.com>, Dimitrie O. Paun <dimi@cs.toronto.edu>, Patrik Stridvall <ps@leissner.se>
Various warning fixes.
2000-11-01 03:11:12 +00:00
David Elliott 44f84b55f3 Added basic working stubs of new Windows 2000 API functions. 2000-10-29 01:24:54 +00:00
Jeremy White 51e4657694 Added support for a WINELOADER environment variable which allows the
specification of a different binary loader.
2000-10-25 20:28:22 +00:00
Alexandre Julliard 57f05e1913 Converted a few more server requests to the new mechanism. 2000-10-15 00:40:25 +00:00
Alexandre Julliard aef9a36059 Use special environment variables to transmit the cwd of the various
drives to child processes (based on a patch by Andreas Mohr).
2000-10-03 04:19:16 +00:00
Alexandre Julliard d76f9f9637 Implemented a bunch of large integer functions in ntdll. 2000-10-01 01:40:42 +00:00
Alexandre Julliard afb49ead82 Moved a bunch of routines to kernel32.dll (with the help of
Dimitrie O. Paun).
2000-09-29 20:48:04 +00:00
Alexandre Julliard baa15566a0 Moved critical section implementation to ntdll. 2000-09-29 00:31:23 +00:00
Alexandre Julliard 15bfcd0398 Moved $(MODULE).o rule out of Make.rules into the individual
Makefiles.
2000-09-29 00:28:25 +00:00
Alexandre Julliard 072dfb57e3 Removed inclusion of wine/winestring.h from winbase.h and added it to
the C files that need it.
2000-09-25 23:30:56 +00:00
Andreas Mohr c941effc24 Make GetTickCount not use the whole Unix epoch (since 1970) any more,
since that crashed several games or caused problems with them as they
aren't used to a high Windows uptime of more than 24.9 days.
2000-09-22 22:37:56 +00:00
Roberto Augusto Pungartnik 19f8dda01b Added S_ISFIFO check for Solaris. 2000-09-22 22:19:58 +00:00
Andreas Mohr 20cd9356a8 - fixes debugger output
- get rid of wrong comments
- fix comments
- .spec spelling fix
- improve warning message
2000-09-12 23:40:40 +00:00
Alexandre Julliard 50097a0ce8 Added WINESERVER environment variable to allow overriding the normal
server search sequence.
2000-09-10 03:24:28 +00:00
Alexandre Julliard 4b15574923 Implemented RtlpWaitForCriticalSection and RtlpUnWaitCriticalSection. 2000-09-10 03:16:08 +00:00
Andreas Mohr 9714152e01 Avoid crash on empty command-line. 2000-09-02 23:18:16 +00:00
Alexandre Julliard 92643003cf Converted a lot of server requests to the new exception handling
mechanism.
2000-08-31 01:59:51 +00:00
Alexandre Julliard 9c2370bd75 Added exception handling wrapper to a number of server requests.
Changed a few requests to use the new vararg mechanism.
2000-08-30 00:00:48 +00:00
Alexandre Julliard 8611353053 Added the data structures and macros that will be needed to support
reentrant server requests.
2000-08-29 03:54:30 +00:00
Alexandre Julliard 973ce4a088 Moved TASK_Create call to KERNEL initialisation routine.
Clear last error code before calling main entry point (reported by
James Juran).
2000-08-25 22:02:14 +00:00
Alexandre Julliard ea1afcef49 Added APC support in waitable timers. 2000-08-22 20:08:37 +00:00
Andreas Mohr d398aacfeb - don't return FALSE for system process changes
- SHUTDOWN_NORETRY is 1 and has to be in winbase.h
2000-08-21 20:17:56 +00:00
Mike McCormack 8d5db55cc5 Save GET_APCS data before calling any asynchronous procedure calls, in
case the server is called during the APC.
2000-08-18 23:40:45 +00:00
Huw D M Davies 94237ded13 Fix for starting server from the current directory. 2000-08-14 13:26:30 +00:00
Alexandre Julliard c10c9ef4f1 Made server startup more robust against races caused by a previous
server terminating at the same time.
2000-08-11 21:16:53 +00:00
Alexandre Julliard 5ab9d860f2 Removed some unnecessary #includes and dll dependencies. 2000-08-09 22:35:05 +00:00