277 Commits

Author SHA1 Message Date
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
James Juran
49c779a862 Prevent warnings about labels at end of switch statements when
compiling with gcc-3.x.
2001-11-19 02:24:14 +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
Alexandre Julliard
5f258c68f3 Backed out the suspend_process_for_ptrace change.
Fixed a couple of races in ptrace code.
2001-07-14 00:50:30 +00:00
Alexandre Julliard
7614180e2d Small fixes to the debugger support. 2001-07-11 17:30:59 +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
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
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
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
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
7f74824d9f Fixed error recovery during thread creation. 2000-12-26 00:30:30 +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
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
Alexandre Julliard
57f05e1913 Converted a few more server requests to the new mechanism. 2000-10-15 00:40:25 +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
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
a37dec0c7e Pass the main exe name in the CREATE_PROCESS debug event. 2000-06-08 00:57:24 +00:00
Turchanov Sergei
43a27e3696 Implemented local atoms in the server. 2000-05-30 20:32:06 +00:00
Alexandre Julliard
c5e433a3a6 Moved idle event handling to the server. 2000-05-30 19:48:18 +00:00
Alexandre Julliard
d27624be16 Store process file name in startup info.
Fixed exe_file handling.
2000-05-03 18:42:40 +00:00
Alexandre Julliard
5b4f3e8d6d Rewrote Unix process launching to allow passing startup information to
Winelib apps. Improved handling of execve() failures.
2000-05-01 16:24:22 +00:00
Alexandre Julliard
07d8446918 Implemented thread and (partial) module snapshots, based on the work
of Andreas Mohr <amohr@student.ei.uni-stuttgart.de>.
2000-04-16 19:45:05 +00:00
Alexandre Julliard
6a72dc52bd Load done event now created by the server. 2000-04-14 13:42:00 +00:00
Alexandre Julliard
11342151c9 Temporary hack to share handles between processes sharing the same
address space.
2000-04-08 21:02:47 +00:00
Alexandre Julliard
ef88637f5b Made request tracing more robust against bogus lengths. 2000-04-04 19:33:27 +00:00
Alexandre Julliard
b73421dd91 Set thread start address to 0 on events generated by
DebugActiveProcess.
Return a correct address in the simulated exception event.
2000-03-30 19:30:24 +00:00
Alexandre Julliard
9a0e28f153 Fixed a couple of file descriptor leaks.
Always call USER signal proc in the right context.
Cleaned up THREAD_Create.
2000-03-25 19:14:37 +00:00
Alexandre Julliard
12f29b5076 Have threads and processes exit more cleanly whenever possible. 2000-03-17 15:16:57 +00:00
Alexandre Julliard
98aacc7751 Avoid SIGSTOP/SIGCONT race when ptrace is disabled. 2000-03-15 19:46:14 +00:00
Alexandre Julliard
ea0d028a0b Added specific routines for OUTPUT_DEBUG_STRING and EXCEPTION debug events.
Generate a breakpoint event on process attach.
Misc cleanups in request handling.
2000-03-10 22:16:10 +00:00
Alexandre Julliard
05f0b71bb3 Store the list of loaded dlls in the server, and generate debug events
internally.
2000-03-09 18:18:41 +00:00
Alexandre Julliard
00641d5b1c Removed PDB32_DEBUGGED flag and send all debug events unconditionally.
Implemented IsDebuggerPresent().
2000-03-08 16:41:37 +00:00
Alexandre Julliard
ff81d78708 Generate CREATE_PROCESS/THREAD debug events internally in the server. 2000-03-08 12:01:30 +00:00
Alexandre Julliard
67a24c8cfb Store the handle of the process exe file in the server.
Removed PROCESS_Initial().
2000-02-18 21:54:32 +00:00
Dave Pickles
717bf7e9ea Added definition for STILL_ACTIVE. 2000-02-13 16:04:14 +00:00
Patrik Stridvall
fb32c7bb38 Fixed minor issues found by winapi_check. 2000-01-29 21:02:19 +00:00
Alexandre Julliard
0a7c1f6c5b Implemented GetThreadSelectorEntry through the server. 2000-01-27 02:54:17 +00:00
Alexandre Julliard
2fe57779fb Made the server listen for new clients on a Unix socket in
$HOME/.wine. Newly started wine processes now attach to an existing
server if one is running.
2000-01-25 01:40:27 +00:00
Alexandre Julliard
cb1fc735f0 Changed the server to return STATUS_* error codes. 2000-01-24 21:58:06 +00:00
Alexandre Julliard
1dca5e24c7 Moved poll handling to the generic part of the server objects.
Fixed busy waiting on POLLERR events.
Merged struct client into struct thread.
2000-01-01 00:56:27 +00:00
Alexandre Julliard
d083a7bd0c Fixed DEBUG_ONLY_THIS_PROCESS again (thanks to Ulrich Weigand). 1999-11-29 02:10:56 +00:00
Alexandre Julliard
17cf81018f Fixed handling of debug events on thread/process exit. 1999-11-24 01:22:14 +00:00
Alexandre Julliard
42666eeab6 Portability fixes. 1999-11-21 01:10:16 +00:00
Alexandre Julliard
578c10090b Moved ptrace support to ptrace.c. Tried to improve portability. 1999-11-14 21:23:21 +00:00
Alexandre Julliard
eef7025ef8 Added support for WriteProcessMemory through the server. 1999-11-13 19:54:54 +00:00
Alexandre Julliard
8b8828f578 Added support for ReadProcessMemory through the server. 1999-11-12 21:39:14 +00:00
Alexandre Julliard
ec7bb2391d Added support for CREATE_SUSPENDED flag in CreateProcess. 1999-11-12 03:35:25 +00:00