Commit Graph

264 Commits

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