Commit Graph

558 Commits

Author SHA1 Message Date
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
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