Commit Graph

264 Commits (9c89290e89058f61dcc059c728f7f1a865696795)

Author SHA1 Message Date
Alexandre Julliard 2f158c2678 Removed @PROGEXT@ (it was broken anyway).
Improved 'make install'.
Cleaned up the main Makefile.
2000-06-14 21:45:38 +00:00
Alexandre Julliard a37dec0c7e Pass the main exe name in the CREATE_PROCESS debug event. 2000-06-08 00:57:24 +00:00
Ulrich Weigand afd6a4b810 Updated support for Solaris/Sparc architecture. 2000-06-04 01:48:05 +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
Patrik Stridvall 17d1e9e5e2 Fixed issues found by winapi_check. 2000-05-23 23:38:32 +00:00
Alexandre Julliard a01004d828 Added support for registry values larger than the server buffer.
When loading a registry file, automatically determine overlap between
key name and file contents based on the first key name.
Removed v1 saving code.
Save USER\.Default separately into ~/.wine/userdef.reg.
2000-05-14 22:57:57 +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 f818d42fae Fixed COORD structure definition.
Fixed GetLargestConsoleWindowSize to not return a structure when
called from the Window binary.
2000-05-03 17:48:21 +00:00
Alexandre Julliard ba3e2abc99 Small optimization. 2000-05-03 17:45:34 +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
Patrik Stridvall e29dbc5814 Fixed some warnings. 2000-04-24 18:04:24 +00:00
Alexandre Julliard 27d31a5d43 Removed permission checks in create_key and delete_key. It seems
Windows doesn't check anything.
2000-04-16 20:28:42 +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 c970904c2c Save the registry on server exit without client intervention.
Removed "alt" registry files since we now have symlinks and
WINEPREFIX to replace them.
2000-04-16 17:21:13 +00:00
Alexandre Julliard d804111dc5 Made server launching somewhat cleaner and faster. 2000-04-14 14:42:41 +00:00
Alexandre Julliard 6a72dc52bd Load done event now created by the server. 2000-04-14 13:42:00 +00:00
Eric Pouech 9d10afa499 Clear status for sending exception event. 2000-04-09 18:39:31 +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 f6507ed235 Do not send a debug event for a thread until the previous event for
the same thread has been continued.
2000-04-06 22:05:16 +00:00
Alexandre Julliard de1d5ad444 Added support for WINEPREFIX environment variable. 2000-04-06 20:36:17 +00:00
Alexandre Julliard d3928317d6 Increment suspend count before attempting attach in suspend_for_ptrace. 2000-04-04 19:55:28 +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
Ove Kaaven cb98a6ed7a Handle POLLHUP better (delay FD_CLOSE notification until all data has
been read). Made WSAEnumNetworkEvents atomic. Convert socket event
error codes properly. Made accept()-ed sockets inherit the listening
socket's WSAAsyncSelect().
2000-03-26 18:21:16 +00:00
Andreas Mohr 32a5b63866 Moved some registry definitions to winnt.h. 2000-03-26 14:41:10 +00:00
Francois Gouget 6d77d3a1df Use min/max instead of MIN/MAX. 2000-03-25 21:44:35 +00:00
Ove Kaaven 77c30552aa Handle socket POLLERR/POLLHUP conditions properly.
Clear error field for OOB notifications.
2000-03-25 21:41:43 +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
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
Ulrich Weigand f6461fe290 Allow user APCs with NULL 'func' (just wake up the thread). 1999-04-11 15:02:18 +00:00
Alexandre Julliard 1c40024b15 Added cmd line in new_process request. 1999-03-27 16:21:05 +00:00
Alexandre Julliard 17e3b97389 Create startup info for the initial process. 1999-03-23 17:04:10 +00:00
Alexandre Julliard 875c4b3c61 Added server pid and tid in init_thread request, and use them in
CLIENT_InitThread.
1999-03-23 14:09:41 +00:00
Alexandre Julliard f692d44607 Added new_process and init_process request.
Split out process creation from thread creation.
Changed server initialisation to ensure that we always have a current
thread.
1999-03-21 19:23:54 +00:00
Ulrich Weigand 2f2898b571 Handle suspend/resume_thread requests in phase STARTING correctly.
Set initial suspend count for threads created with CREATE_SUSPENDED.
Set 'inheritable' flag for process/thread handles.
1999-03-16 16:28:36 +00:00
Alexandre Julliard dbc033a261 Fixed process_signaled (thanks to Uwe Bonnes). 1999-03-13 08:58:24 +00:00
Alexandre Julliard 3f09ec5263 CLIENT_WaitReply: don't clear last error on success; fixed callers
accordingly (based on a patch by Juergen Schmied).
1999-02-28 19:25:51 +00:00
Juergen Schmied c642e4a31e open_object should return ERROR_FILE_NOT_FOUND when the named object
is not found.
1999-02-28 16:59:12 +00:00
David Luyer ee517e863e - fixed missing stdlib.h and string.h includes everywhere
- removed a couple of unneeded stdlib.h and stdio.h includes
1999-02-28 12:27:56 +00:00
Alexandre Julliard cb28bdc2c8 Added support for mappings with no associated file. 1999-02-28 10:13:59 +00:00
Alexandre Julliard 875d112dd7 Removed dst_handle in duplicate_handle request.
Added inherit flag in create_mapping request.
1999-02-28 10:12:48 +00:00
Alexandre Julliard 6d4ee73906 Added get/set_handle_info request. 1999-02-20 16:13:28 +00:00
Alexandre Julliard fdc92bae07 Added server snapshot support (processes only for now). 1999-02-14 18:03:15 +00:00
Alexandre Julliard 068a26e848 Moved process definitions to include/server/process.h 1999-02-14 17:58:51 +00:00
Juergen Schmied cddfcce5f3 Implemented flag FILE_FLAG_DELETE_ON_CLOSE. 1999-02-14 11:20:07 +00:00
Michael Veksler f935c59787 Added missing includes to avoid warnings/errors. 1999-02-09 15:49:39 +00:00
Alexandre Julliard 4b461128d6 Added input queue to server-side console object,
read/write_console_input requests, and use them for
Read/WriteConsoleInput.
1999-01-31 19:04:30 +00:00
Alexandre Julliard a27b48b132 Handle set_file_time requests changing only one of access/mod time. 1999-01-31 15:08:31 +00:00
Alexandre Julliard 62a8b43301 Hacked server-side device support
Added user APCs support.
Many changes to the xterm console to make use of the server (not
finished yet).
Moved some other small stuff to the server.
1999-01-19 17:48:23 +00:00
Alexandre Julliard f727b4327d Added server-side device support (only a hack for now). 1999-01-19 16:31:32 +00:00
Alexandre Julliard 638f169b1e Recovery of release 990110 after disk crash.
See Changelog for changes between 990103 and 990110.
1999-01-17 16:32:32 +00:00