Ulrich Czekalla
b2df5f9f19
- use global atoms for the format ids
...
- add timeout when calling XCheckTypedWindowEvent
- fix broken IsClipboardFormatAvailable; it tried to do a trick with
EnumClipboardFormats by making incorrect assumptions
- in X11DRV_IsClipboardFormatAvailable do a quick exit if no one owns
the selection
- add 1 second *minimum* time lapse between XSelectionOwner calls
- sync clipboard ownership between different wine processes
- prevents apps from getting into wierd state where they thought they
didn't own the selection but they did and as a result queried
themselves for available selection data
2003-06-23 23:02:02 +00:00
Eric Pouech
412d37f6e6
- adapted kernel32 so that it no longer (directly) manages console
...
handles as wineserver handles
- console input handle object is no longer waitable (input record
synchronisation is now implemented as a simple semaphore), and removed
FD_TYPE_CONSOLE from fd types in wineserver
- console handles now always have their two lower bit set so one can
distinguish a console handle from a kernel object handle
- implemented some undocumented kernel32 console related APIs
(CloseConsoleHandle, GetConsoleInputWaitHandle, OpenConsoleW,
VerifyConsoleIoHandle, DuplicateConsoleHandle)
- allowed a few kernel32 APIs to take console pseudo-handles
(FlushFileBuffer, GetFileType, WaitFor*Object*)
- simplified the console inheritance at process creation
- in console tests, no longer create a console if one already exists
2003-06-21 02:07:10 +00:00
Eric Pouech
c00a4473bd
Implement anonymous pipes on top of named pipes.
2003-05-20 04:32:53 +00:00
Alexandre Julliard
3e588e3a57
Implemented file change notifications, based on a patch by Mike
...
McCormack.
2003-03-26 23:41:43 +00:00
Alexandre Julliard
cf27a7fa3b
Changed fd operations to take a struct fd instead of a struct object.
...
Removed get_file_info function from object operations.
Added get_device_id request to avoid abusing get_file_info.
2003-02-14 20:27:09 +00:00
Eric Pouech
2359b57574
- no longer depend on toolhelp definitions for generating snapshots
...
- added get_dll_info request
2003-01-09 00:01:28 +00:00
Alexandre Julliard
8ba666f3a7
Store the keyboard state in the thread input structure on the server
...
side.
2003-01-08 19:56:31 +00:00
Mike McCormack
11f4b44451
Implemented registry change notifications.
2002-11-25 02:47:32 +00:00
Alexandre Julliard
0286135de3
Rewrote hook support to store the hook chain in the server.
...
Split off 16-bit hook functions and re-implemented them on top of the
32-bit ones; system-wide 16-bit hooks are no longer supported at this
point.
2002-10-29 00:41:42 +00:00
Alexandre Julliard
11e3523949
Rewrote caret implementation to store the information in the server.
2002-10-17 01:24:33 +00:00
Alexandre Julliard
a9e8f59c95
Moved mouse capture handling into the server.
2002-10-12 01:24:37 +00:00
Alexandre Julliard
5030bda77c
Reimplemented Get/SetActiveWindow, Get/SetFocus and
...
Get/SetForegroundWindow by storing the information in the
server. Implemented correct inter-process window activation.
2002-10-11 23:41:06 +00:00
Alexandre Julliard
ab5063b217
Added server-side infrastructure for the thread input structure.
...
Reimplemented AttachThreadInput() and added GetGUIThreadInfo().
2002-10-11 18:50:15 +00:00
Alexandre Julliard
40043ed26f
Added -k option to kill an existing wineserver.
2002-08-16 20:02:15 +00:00
Alexandre Julliard
4144b5b8fc
Create the server directory and socket file in /tmp.
...
Use fcntl file locking to ensure exclusion on the server socket and to
better recover from crashes.
Flush the registry before closing the socket to avoid timeouts on the
client side.
Moved get_config_dir functionality to libwine.
2002-06-20 23:21:27 +00:00
Eric Pouech
93bfa0d6b1
Implementation for console control events (includes process groups
...
support).
2002-06-02 21:22:22 +00:00
Alexandre Julliard
5188574984
Renamed handle_t to obj_handle_t to avoid conflict with rpcdce.h.
2002-05-30 20:12:58 +00:00
Martin Wilck
d15bf1c0fe
Fixed handling of deferred connections in WSAAccept().
2002-04-23 22:03:42 +00:00
Chris Morgan
417296c4af
Implement OpenThread() winapi call.
...
Implement a few pthreads functions.
2002-04-02 00:49:05 +00:00
Alexandre Julliard
6543a6522a
Transfer the full process startup info as well as the command-line
...
through the server.
2002-03-29 18:28:56 +00:00
Mike McCormack
fc93261150
Begin to make wine an SMB client.
2002-03-12 19:24:04 +00:00
Alexandre Julliard
0799c1a780
Added LGPL standard comment, and copyright notices where necessary.
...
Global replacement of debugtools.h by wine/debug.h.
2002-03-09 23:29:33 +00:00
Alexandre Julliard
3c4538c8db
Reimplemented DebugBreakProcess.
2002-02-27 01:55:02 +00:00
Eric Pouech
fbccb38e18
New XP debugging APIs: implemented DebugActiveProcessStop,
...
DebugSetProcessKillOnExit, DebugBreakProcess.
2002-02-27 01:28:30 +00:00
Mike McCormack
6f011c0847
- move async activation into the server
...
- implement async queues
2001-12-20 00:07:05 +00:00
Alexandre Julliard
9caa71eef4
Redesign of the server communication protocol to allow arbitrary sized
...
data to be exchanged.
Split request and reply structures to make backwards compatibility
easier.
Moved many console functions to dlls/kernel, added code page support,
changed a few requests to behave properly with the new protocol.
2001-11-30 18:46:42 +00:00
Eric Pouech
0b83d4cbc6
New console code based on Win32 windows.
2001-11-23 23:04:58 +00:00
Alexandre Julliard
805bdc53e8
Store the window caption text in the server.
...
Maintain a paint count separately for each window.
2001-11-13 22:23:48 +00:00
Alexandre Julliard
ddc3317b7a
Store in the server all the window information accessible with
...
Get/SetWindowLong.
2001-10-22 19:08:33 +00:00
Alexandre Julliard
516e40e154
Make sure that GetMessagePos and GetMessageTime return sane values
...
for all messages.
2001-10-17 17:48:49 +00:00
Alexandre Julliard
0d50965a13
Added requests to store window rectangles in the server.
2001-10-16 21:55:37 +00:00
Alexandre Julliard
7a2017dd65
Store window properties in the server. Moved property.c to dlls/user.
2001-10-12 19:10:26 +00:00
Alexandre Julliard
003f02b733
Removed the cleanup_window_queue request.
2001-10-11 20:50:10 +00:00
Alexandre Julliard
a09da0cbbd
Added proper support for storing window parents in the server.
...
Added a few requests to query the window hierarchy.
2001-09-21 21:08:40 +00:00
Alexandre Julliard
1a66d226eb
Added global management of user handles in the server.
...
Very preliminary support for shared window handles.
2001-08-28 18:44:52 +00:00
Mike McCormack
f2e7ce7f6a
Implemented GetNamedPipeInfo.
2001-08-27 19:03:42 +00:00
Mike McCormack
bf55457f24
Implement WaitNamedPipe and DisconnectNamedPipe.
...
Add a state for each pipe handle in the server.
Create a socket on when the pipe is opened, not before.
2001-08-23 23:29:20 +00:00
Alexandre Julliard
d253c58b1b
Rewrote most of SendMessage/PeekMessage.
...
Implemented inter-process messaging.
Moved most message routines to dlls/user, and split off 16-bit
routines to a separate file.
2001-08-07 19:19:08 +00:00
Alexandre Julliard
37ec927536
Use the new protocol.def file to build the request structures.
...
Define protocol structures in a separate server_protocol.h file.
Removed __WINE_SERVER__ checks now that all includes are in the right
directory.
2001-07-19 00:35:37 +00:00
Mike McCormack
de7c3003e2
Start implementing named pipes.
2001-07-10 19:16:49 +00:00
Alexandre Julliard
4b0343dc5f
Moved queue paint count to the server. Removed a few no longer used
...
routines.
2001-06-20 22:55:31 +00:00
Alexandre Julliard
51ab43bd13
Moved the major part of message queue and window timer handling into
...
the server.
Implemented MsgWaitForMultipleObjectsEx.
2001-05-18 22:51:56 +00:00
Michael McCormack
1c32a46d5a
Use poll() on the client-side during server waits to implement
...
overlapped I/O.
2001-03-22 20:09:34 +00:00
Alexandre Julliard
e5dedb1906
Added support for nested server waits (to allow waiting in signal
...
handlers).
2001-03-08 01:16:41 +00:00
Alexandre Julliard
8859d77279
Create the server pipes on the client side and transfer them to the
...
server on thread creation.
Use a single per-process socket instead of one per thread for
transferring file handles between client and server.
2001-03-01 22:13:49 +00:00
Alexandre Julliard
f52424055f
New mechanism to transfer file descriptors from client to server.
2001-02-28 21:45:23 +00:00
Alexandre Julliard
d90e964cee
Added separate server pipe to wait on blocking server calls.
...
Send the complete request/reply through the request fifo instead of
just a dummy byte.
Convert error status to text in server reply tracing.
2001-02-21 04:21:50 +00:00
Alexandre Julliard
5f195f8c01
Small server protocol cleanups.
2001-02-20 23:45:07 +00:00
Alexandre Julliard
e939eae00b
Made exception_event_request non-blocking, and added
...
get_exception_status to retrieve the exception result returned by the
debugger.
2001-01-26 20:45:41 +00:00
Alexandre Julliard
e9936d96e1
Changed wait_process and wait_debug_event requests to never block;
...
waiting is always done through WaitForSingleObject().
2001-01-26 00:22:26 +00:00
Alexandre Julliard
8081e5a1e5
Added handle_t type to server interface so that we can make handles
...
pointers later on.
Always use 0 to signal invalid handle in server requests.
2001-01-05 04:08:07 +00:00
Alexandre Julliard
d549f6909e
Use a separate FIFO pair for server requests that don't need to pass a
...
file descriptor.
Associate file descriptors with handles on the server side so that we
don't need to pass the fd every time the client wants to use it.
2000-12-22 02:04:15 +00:00
Alexandre Julliard
1ab243bac1
Merged the get_read_fd and get_write_fd requests.
2000-12-19 02:12:45 +00:00
Alexandre Julliard
0b6a79c961
Converted enum_key_value request to the new request mechanism.
2000-12-15 20:57:00 +00:00
Mike McCormack
1eac1911c7
- created server object for handling async i/o
...
- implemented WaitCommEvent with the EV_RXCHAR flag
- implemented GetOverlappedResult
2000-11-13 19:27:21 +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
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
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
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
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
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
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
ef88637f5b
Made request tracing more robust against bogus lengths.
2000-04-04 19:33:27 +00:00
Alexandre Julliard
12f29b5076
Have threads and processes exit more cleanly whenever possible.
2000-03-17 15:16:57 +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
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
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
3e2517caa7
Added Get/SetThreadContext support through the server.
2000-01-20 18:59:03 +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
ad47a30f5e
Implemented waitable timers.
1999-11-29 01:58:35 +00:00
Alexandre Julliard
d7e85d6631
Added registry support to the server.
1999-11-23 19:39:11 +00:00
Alexandre Julliard
eef7025ef8
Added support for WriteProcessMemory through the server.
1999-11-13 19:54:54 +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
Ove Kaaven
019211f864
Added socket interface to wineserver.
1999-10-13 16:05:37 +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
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