Commit Graph

287 Commits

Author SHA1 Message Date
Joerg Mayer
959d73e8dd Reduce the number of warnings about missing initializers. 2000-10-22 23:56:32 +00:00
Gerald Pfeifer
1f0123649f Add appropriate casts to caddr_t for the third parameter of ptrace(). 2000-10-17 00:25:59 +00:00
Alexandre Julliard
57f05e1913 Converted a few more server requests to the new mechanism. 2000-10-15 00:40:25 +00:00
Stephane Lussier
21b099f082 After accept is called on the socket, the listening socket needs to be
reselected.
2000-10-13 17:04:52 +00:00
Alexandre Julliard
454355ece1 Convert NtQueryKey and NtEnumerateKey to the new request mechanism.
Fixed a few bugs.
2000-10-02 03:46:58 +00:00
Alexandre Julliard
bcf393a5e5 Converted some of the registry server requests to the new request
mechanism.
2000-10-01 01:44:50 +00:00
Stephane Lussier
0d5f1ab2d9 Socket returned by accept function of Microsoft API should keep the
properties of the listening socket. This is also true for non-blocking
property.
2000-09-27 22:27:33 +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
Mike McCormack
654fcc721b Implemented SetCommMask, SetCommTimeouts, GetCommMask, GetCommTimeouts. 2000-09-16 20:55:12 +00:00
Mike McCormack
44b5bf5998 Added serial port object to the server. 2000-09-07 18:39:51 +00:00
Ove Kaaven
7a0f96c908 Adapted Winsock to Linux 2.4 TCP socket poll() behaviour
(thanks to Berend Ozceri for finding the problem).
2000-09-06 19:40:23 +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
9c2370bd75 Added exception handling wrapper to a number of server requests.
Changed a few requests to use the new vararg mechanism.
2000-08-30 00:00:48 +00:00
Alexandre Julliard
8611353053 Added the data structures and macros that will be needed to support
reentrant server requests.
2000-08-29 03:54:30 +00:00
Albert den Haan
1c79bbb13d Fixed typo in HKEY_CURRENT_CONFIG name. 2000-08-28 19:30:43 +00:00
Alexandre Julliard
6c8d9171cd Added a real root key and simplified creation of the HKEY_* special root keys.
Do not prefix all keys with the name of the top key when saving to a file.
Try to load $WINEPREFIX/config into the Wine config branch at startup.
2000-08-26 04:40:07 +00:00
Alexandre Julliard
ea1afcef49 Added APC support in waitable timers. 2000-08-22 20:08:37 +00:00
Alexandre Julliard
c19e1a7e19 Implemented SEC_IMAGE mappings and shared PE sections (with the help
of Peter Ganten).
2000-08-14 20:20:01 +00:00
Alexandre Julliard
c10c9ef4f1 Made server startup more robust against races caused by a previous
server terminating at the same time.
2000-08-11 21:16:53 +00:00
Hidenori Takeshima
66791afa8f Fix for 64-bit negative seek value. 2000-07-31 23:26:50 +00:00
Alexandre Julliard
7e495e1d66 Make unicode.o into a separate ELF library so that we can use it from
the wineserver too.
2000-07-25 21:01:59 +00:00
Stephane Lussier
56adb25f7d In set_socket_event, the event should be signaled if there's a pending
network event corresponding to the events the application wanted to be
notified.
2000-07-16 18:14:01 +00:00
Andreas Mohr
ed923a57ca More verbose error message. 2000-06-15 00:32:13 +00:00
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