Commit Graph

161 Commits

Author SHA1 Message Date
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
Alexandre Julliard 0562539d18 Implemented file sharing checks in the server.
Added set file time server request.
Overall clean up of the file handling (DOS device handling is now
broken, should be redone).
1999-01-03 11:55:56 +00:00
Alexandre Julliard a6ac379b08 Fixed CHECK_STRING display. 1999-01-02 08:21:54 +00:00
Marcus Meissner 8ba68fbd71 Need <errno.h> for errno decl. on Solaris. 1999-01-01 18:42:17 +00:00