Commit Graph

186 Commits

Author SHA1 Message Date
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
Huw D M Davies 361adc80b7 Ensure that non-NULL terminated stings are saved correctly. 2000-03-24 19:46:30 +00:00
Peter Hunnisett de1ff66d81 Changed PTRACE_PEEKUSER to PTRACE_PEEKUSR and PTRACE_POKEUSER to
PTRACE_POKEUSR for libc5(?) compile.
2000-03-24 19:45:11 +00:00
Alexandre Julliard 12f29b5076 Have threads and processes exit more cleanly whenever possible. 2000-03-17 15:16:57 +00:00
Alexandre Julliard cd8cf5e7c5 Avoid SIGSTOP/SIGCONT race when ptrace is disabled.
Fixed context flags handling (thanks to Eric Pouech).
2000-03-15 19:47:44 +00:00
Alexandre Julliard 98aacc7751 Avoid SIGSTOP/SIGCONT race when ptrace is disabled. 2000-03-15 19:46:14 +00:00
Alexandre Julliard f2f1ff333e Fixed bug in generate_startup_debug_events(). 2000-03-15 19:45:15 +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 5fb54566d2 Added server protocol version check. 2000-03-08 22:01:02 +00:00
Patrik Stridvall 7e9913f463 Fixed some warnings. 2000-03-08 18:25:22 +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
Patrik Stridvall 0e06d62334 Fixed Solaris specific compiler issue. 2000-02-26 13:16:13 +00:00
Patrik Stridvall 49bcb93262 Fixed some issues found by winapi_check. 2000-02-25 20:55:33 +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
Juergen Lock 2d33ab91f4 Added configure check for the unix domain sockaddr length. 2000-02-13 16:03:29 +00:00
Alexandre Julliard b849d79104 Moved global atoms to the server (based on the work of Sergei
Turchanov <turchanov@otvprim.ru>).
2000-02-13 13:56:13 +00:00
Juergen Lock 578276568f Added context functions for FreeBSD. 2000-02-07 16:03:08 +00:00
Ulrich Weigand 8a1bdb3074 Added configure check for sys/reg.h. 2000-01-30 22:22:22 +00:00
Patrik Stridvall de20c2ab08 Solaris support for {set,get}_thread_context added. 2000-01-30 00:23:12 +00:00
Alexandre Julliard a661187be6 Added our own user_regs_struct definition for better compatibility. 2000-01-29 23:35:42 +00:00
Patrik Stridvall fb32c7bb38 Fixed minor issues found by winapi_check. 2000-01-29 21:02:19 +00:00
Juergen Schmied 788d8d554c Get HCU name from unix user name. 2000-01-27 05:37:54 +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 3e2517caa7 Added Get/SetThreadContext support through the server. 2000-01-20 18:59:03 +00:00
Juergen Schmied 5d0ae2dcd9 - removed copying of HKEY_USERS to HKEY_CURRENT_USER
- HKEY_CURRENT_USER is now subkey of HKEY_USERS
- changed query_key_info_request to return the key name too (NtQueryKey needs this)
- the rootkeys (MACHINE and USER) do have names
2000-01-09 21:07:01 +00:00
Alexandre Julliard 95e7acb95d Moved allocation of the socket pair for a new thread to the server. 2000-01-04 02:40:22 +00:00
Alexandre Julliard 79b1ec8290 Made debug events and contexts standard objects.
Use sleep_on to wait on debug events.
2000-01-04 02:24:43 +00:00
Alexandre Julliard 9de03f4f6a Made sleep_on usable from all requests. 2000-01-04 02:23:38 +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 247b8aeeb9 Use poll() instead of select() for the server main loop.
Fixed races with SIGCHLD handling and ptrace.
Minor fixes to timeout handling.
1999-12-13 00:16:44 +00:00
Ulrich Czekalla 6f676cdf2f Fixed off-by-one error. 1999-12-10 03:43:07 +00:00
Marcus Meissner 9d60e35080 Flush handle in any access mode. 1999-12-04 04:00:16 +00:00
Alexandre Julliard 61ec6c1c8d Fixed get_event_obj/get_file_obj to use the process parameter (thanks
to Eric Pouech).
1999-11-29 02:17:08 +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 ad47a30f5e Implemented waitable timers. 1999-11-29 01:58:35 +00:00
Juergen Lock 8354d16897 Don't try to call towupper() when there's no wctype.h. 1999-11-28 19:47:21 +00:00
Alexandre Julliard 19a497cf56 More portability fixes (thanks to Juergen Lock). 1999-11-25 23:42:54 +00:00
Alexandre Julliard d16319ce22 Store all object names as Unicode in the server. 1999-11-25 21:30:24 +00:00
Alexandre Julliard 705686e24e Added wine.conf option for new format registry files.
Added optional periodic saving of the registry.
1999-11-24 19:34:32 +00:00
Alexandre Julliard 53f3a831c2 Added support to the server for loading new format (version 2) files. 1999-11-24 04:19:43 +00:00
Alexandre Julliard 17cf81018f Fixed handling of debug events on thread/process exit. 1999-11-24 01:22:14 +00:00
Alexandre Julliard d7e85d6631 Added registry support to the server. 1999-11-23 19:39:11 +00:00
Niels Kristian Bech Jensen 1d5bc469cc Removed extra #include statements. 1999-11-21 02:14:36 +00:00
Alexandre Julliard 42666eeab6 Portability fixes. 1999-11-21 01:10:16 +00:00
Eric Pouech bf2b765810 Fixed hash function. 1999-11-15 00:07:30 +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 3b832225f1 Bug fixes. 1999-11-14 21:02:04 +00:00
Alexandre Julliard eef7025ef8 Added support for WriteProcessMemory through the server. 1999-11-13 19:54:54 +00:00
Alexandre Julliard c76ad35a32 Added get_page_size function. 1999-11-13 19:49:05 +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
Gerald Pfeifer 0a29a78cd8 Portability fix: renamed PTRACE_* into PT_*. 1999-11-12 01:40:09 +00:00
Alexandre Julliard 699d3cf8d8 Added use_ptrace flag to disable ptrace usage. Should eventually be
made into an option.
1999-11-12 01:10:05 +00:00
Alexandre Julliard 15ed96161f Don't crash when we get a SIGCHLD for a removed thread. 1999-11-10 20:25:19 +00:00
Alexandre Julliard 0a70783c11 Preliminary ptrace support. 1999-11-08 05:31:47 +00:00
Alexandre Julliard 9103daf300 Install the wine server in $(bindir) and exec it from there. 1999-11-08 00:03:53 +00:00
Alexandre Julliard c61eb035e3 Do not free the handles once they have been sent to the client (thanks
to Jeremy White).
1999-11-07 23:59:08 +00:00
Jeremy White 942010a762 Fixed bug in WINSOCK_accept when no event is present. 1999-11-07 19:15:19 +00:00
Ove Kaaven 3669b94160 Handle socket creation errors. 1999-11-07 05:23:02 +00:00
Alexandre Julliard ceeb69371c Made all handles multiple of 4. Fixed semantics for pseudo-handles. 1999-11-04 02:33:45 +00:00
Alexandre Julliard 1d22c531da Free the handles of the event structure in the right process (thanks
to Jeremy White).
1999-11-04 02:31:10 +00:00
Patrik Stridvall 96336324cf - Added missing configuration #if:s and #includes:s.
- Minor configuration related changes.
1999-10-24 22:13:47 +00:00
Ove Kaaven f45608f639 Winsock rewrite. Sockets are now proper win32 handles.
Internal structures are now really internal.
1999-10-23 16:53:34 +00:00
Ove Kaaven 019211f864 Added socket interface to wineserver. 1999-10-13 16:05:37 +00:00
Alexandre Julliard d6d994f11e Made event manipulation routines public. 1999-09-28 16:40:07 +00:00
Ove Kaaven ec29ba802d Added EXCEPT_EVENT to wineserver select loop. 1999-09-27 11:46:56 +00:00
Alexandre Julliard dbab5e2666 Remove the mutex from the thread list when destroying it. 1999-08-04 09:52:33 +00:00
Patrik Stridvall 2c684081c1 Fixed some of the issues reported by Solaris Lint. 1999-07-31 17:36:48 +00:00
Howard Abrams b135adf183 Renamed static global variable 'iovec' to 'myiovec'. 1999-07-10 13:16:56 +00:00
Howard Abrams 132774804e Added checks for sys/errno.h, sys/signal.h and sys/mman.h. 1999-07-10 13:16:29 +00:00
Patrik Stridvall 1ed4ecffa8 ANSI C fixes.
Removed warnings.
Made the include files self-sufficient.
Some Solaris fixes.
1999-06-26 14:58:24 +00:00
Alexandre Julliard ebe29ef376 Further server optimizations:
- merged request and reply structures
- build requests directly into the buffer to avoid a copy
1999-06-26 08:43:26 +00:00
Alexandre Julliard fb65f7d690 Dump server objects on SIGHUP. 1999-06-22 17:27:58 +00:00
Alexandre Julliard 5bc78089db Made server communication faster by using a shared memory block.
A few other optimizations in request processing in the server.
Moved automatically generated request definitions to server.h and
removed include/server/request.h.
1999-06-22 17:26:53 +00:00
Alexandre Julliard 039aa42373 Return console handles in alloc_console request.
Fixed read_console_input parameters to conform to the reply structure
declaration.
1999-06-11 18:31:22 +00:00
Alexandre Julliard 791c84c928 Fixed initial process refcount. 1999-06-07 16:16:35 +00:00
Alexandre Julliard eb2e77fd6f Made handle table a separate object.
Global handle table is no longer bound to a process.
Removed special handling of the initial process.
1999-06-04 19:49:54 +00:00
Alexandre Julliard 1bdd154b6b Added optional debugging code in object management. 1999-06-04 19:47:04 +00:00
Alexandre Julliard 0042cb3a37 Fixed duplicate_handle to work with pseudo-handles (reported by Marcus
Meissner).
1999-05-29 11:17:25 +00:00
Alexandre Julliard d2b7a0ba65 Added support for dumping variable-size data of server replies.
Added cmd_line and cmd_show in new_process request.
1999-05-24 12:33:10 +00:00
Alexandre Julliard e712e077bc Added debug events support. 1999-05-23 19:53:30 +00:00
Marcus Meissner adb87931d3 Do not use pagesize aligned size_low to grow mapped file, but original
size_low. (fixes Heises Index Register)
1999-05-23 07:47:31 +00:00
Alexandre Julliard f2616a2401 Set only the client socket in non-blocking mode instead of all fds;
should avoid problems with stdio handles.
1999-05-20 16:40:23 +00:00
Alexandre Julliard 57e1131334 Adapted to new select interface.
Fixed bug in *_signaled routines that could cause busy-waiting in the
select loop.
1999-05-16 16:59:38 +00:00
Alexandre Julliard 88de35cd70 Changed select interface, separated timeouts from file descriptors. 1999-05-16 16:57:49 +00:00
Alexandre Julliard 3da5f84df1 Moved process structure definition to process.h.
Added suspend/resume_process.
Moved handle table back into the process structure.
1999-05-16 16:54:54 +00:00
Alexandre Julliard e29a001a85 Added TEB in init_thread request. 1999-05-16 16:51:28 +00:00
Alexandre Julliard 43c190e7ba Server reorganization:
- moved request handlers to the specific C files
- moved handle management to handle.c
- moved server private includes to server/ instead of include/server/
1999-05-15 10:48:19 +00:00
Ove Kaaven bf160c7adc Restart interrupted select() (happens with -pg). 1999-05-09 16:00:35 +00:00
Patrik Stridvall 1bb9403938 ANSI C fixes. 1999-05-08 15:47:44 +00:00
Ulrich Weigand 017d22126b Possible crash in select_loop() fixed. 1999-05-04 16:51:30 +00:00
Ulrich Weigand b8396c3ed8 Don't crash if queuing an APC on a thread that doesn't wait. 1999-05-02 11:33:01 +00:00
Patrik Stridvall 0f8bc5b5c7 Fixed ANSI compabillity. 1999-04-22 16:27:50 +00:00
Alexandre Julliard 1ae869c9a3 Added env ptr to new_process request 1999-04-18 14:41:41 +00:00
Ulrich Weigand 371fd75a39 Added new CLIENT_DebuggerRequest routine, implemented support for
DEBUGGER_FREEZE_ALL/DEBUGGER_UNFREEZE_ALL requests.
Run wine server in the main wine process.
Bugfix: never free initial thread!
1999-04-11 17:13:03 +00:00