Commit Graph

478 Commits

Author SHA1 Message Date
Alexandre Julliard 775fcfdee5 Work around to make system-global hooks at least run in the thread
that set them.
2002-10-31 22:07:29 +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 b1df392f02 Fixed the WINE_NO_STRICT #ifdefs to do the right thing if STRICT is
defined (spotted by Michael Stefaniuc).
2002-10-21 23:43:04 +00:00
Alexandre Julliard b3332d74b0 Converted the server to -DSTRICT. 2002-10-19 01:00:59 +00:00
Alexandre Julliard 23bb3715f7 Added support for building certain dlls with -DSTRICT.
Added -DWINE_NO_STRICT flag to dlls that don't support STRICT yet.
2002-10-18 23:46:28 +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 54f228733a Added process_id_t and thread_it_t types to the server interface
instead of using void*, and removed a number of type casts.
2002-10-03 19:54:57 +00:00
Alexandre Julliard 526a28de51 Added support for multiple object namespaces, and a bunch functions
for managing linked lists.
2002-10-02 23:49:30 +00:00
Alexandre Julliard 7dafa61700 Fixed a number of bugs in the handling of window parent and owner and
added a regression test (based on the work of Bill Medland).
2002-09-25 00:21:56 +00:00
Alexandre Julliard 341b7dceb4 Implemented the ntdll virtual memory functions, and made the kernel
functions use them.
2002-09-17 18:54:42 +00:00
Patrik Stridvall 9c1de6de30 Moved all the content of the DDK files ntdef.h and ntddk.h to
winternl.h.
2002-09-12 22:07:02 +00:00
Marcus Meissner c87c2c4f1a Use Iar (Instruction Address Register) instead of Fill[0].
siginfo.si_code uses the lower 16bit for the type of the exception.
2002-08-30 00:00:57 +00:00
Alexandre Julliard dba83c8bfc Added wine_get_user_name function and got rid of some of the getpwuid
portability stuff.
More portable printf formats for 64-bit types.
2002-08-27 18:30:53 +00:00
Dmitry Timoshkov 1467bbd5a4 Relax a bit PE consistency checks.
Return BINARY_DOS type if extended header was not recognized.
2002-08-27 00:34:41 +00:00
Marcus Meissner 9fc17ee371 Implemented server context/ptrace handling for Linux/PowerPC. 2002-08-17 01:19:06 +00:00
Alexandre Julliard 31022d66ca Signal and release the idle event when the process main thread exits. 2002-08-16 23:30:41 +00:00
Alexandre Julliard 40043ed26f Added -k option to kill an existing wineserver. 2002-08-16 20:02:15 +00:00
Pierre Beyssac 3528755046 Implemented CONTEXT_DEBUG_REGISTERS on FreeBSD. 2002-08-14 20:59:03 +00:00
Alexandre Julliard 714156d7ab Fixed race condition when a thread gets killed right after starting. 2002-08-13 18:24:27 +00:00
Pierre Beyssac bd15bef954 Fixed ptrace argument order for FreeBSD, NetBSD and Solaris. 2002-08-13 03:18:14 +00:00
Alexandre Julliard 7375597fe2 Fixed some handle type mismatches and added a few casts in prevision
of void* handles.
2002-07-31 19:26:03 +00:00
Marcus Meissner 786d24903b Check for mkstemp, added a port implementation if it is not
present. Use mkstemp() in various places needing tmp files.
2002-07-29 23:55:39 +00:00
Marcus Meissner 1e54c1f088 Implemented FlushFileBuffers for serial devices. 2002-07-16 01:20:38 +00:00
Martin Wilck 15a0f0e78e Check POLLHUP semantics at remote shutdown when wineserver is started.
Fix socket state handling and event handling for non-STREAM sockets.
2002-07-03 21:04:09 +00:00
Andreas Mohr 17a2fe0f71 - Use PeekMessage loop around GetMessage.
- Added German resource file.
- Realign some dialog parts.
- "Property" -> "Properties"
- Add some traces.
2002-07-01 23:22:48 +00:00
Alexandre Julliard ff73250630 Unlock the master socket if the boot thread terminates early.
Avoid crash if thread died during timeout wakeup.
2002-06-22 01:20:36 +00:00
Alexandre Julliard cf5188b654 Attempt at fixing POLLHUP handling for Linux 2.2.x. 2002-06-21 19:06:28 +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
Alexandre Julliard 88e4261903 Store dirty flag in each registry key and use it to save only modified
branches.
2002-06-20 23:18:56 +00:00
Eric Pouech 93bfa0d6b1 Implementation for console control events (includes process groups
support).
2002-06-02 21:22:22 +00:00
Vincent Béron 9a62491660 Removed trailing whitespace. 2002-05-31 23:06:46 +00:00
Alexandre Julliard 65adc24f14 Fixed next_user_handle to also work on deleted handles. 2002-05-31 18:25:53 +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
Alexandre Julliard ca96de344b Fixed process startup synchronization broken by previous change. 2002-05-25 21:15:03 +00:00
Alexandre Julliard 9d80215254 A few optimizations in the process startup requests now that Winelib
apps are started differently from Unix ones.
2002-05-24 21:20:27 +00:00
Eric Pouech 47205b823e Fixed missing wineconsole notification of title modification. 2002-05-11 22:53:56 +00:00
Alexandre Julliard ce830a9c18 Added mkinstalldirs to create directories more portably. 2002-05-09 04:31:39 +00:00
Alexandre Julliard 9a68b7bef0 Link the tools and the server against libwine so we can use the
portability functions in there.
2002-04-27 21:19:22 +00:00
Martin Wilck 75242f9bef Fixes to FD_CLOSE handling. 2002-04-27 01:06:09 +00:00
Alexandre Julliard 5769d1de00 Better support for configure detection of missing types, added check
for ssize_t.
Removed a couple of no longer used portability functions.
Various portability fixes in port.h.
2002-04-26 19:05:15 +00:00
Martin Wilck ff1f320ac8 Fixed some bugs in my recently submitted patch series. 2002-04-26 18:31:19 +00:00
Martin Wilck 9ca4285a9f Fixed ReadFile() semantics when reading asynchronously on sockets.
Provide more accurate status codes than STATUS_UNSUCCESSFUL.
2002-04-25 22:58:59 +00:00
Martin Wilck bff7e69981 Implemented server framework for asynchronous IO on sockets. 2002-04-25 21:31:11 +00:00
Martin Wilck 54ba272090 Add more flexibility to the queue_async server call by moving most
functionality into the object's queue_async method.
2002-04-24 21:29:54 +00:00
Martin Wilck d15bf1c0fe Fixed handling of deferred connections in WSAAccept(). 2002-04-23 22:03:42 +00:00
Alexandre Julliard ca18f1580b Clear mapping->shared_file on error. 2002-04-20 21:07:24 +00:00
Martin Wilck 18c1514c74 STATUS_CANCELLED is correct for cancelled requests (corresponds to
ERROR_OPERATION_ABORTED).
2002-04-14 19:33:52 +00:00
Uwe Bonnes 4f7d893ccb get_window_children: only decrement available size if element was
written.
2002-04-11 17:32:10 +00:00
Alexandre Julliard ad16fc9e3b Avoid crash when trying to attach to a terminating process. 2002-04-06 00:03:33 +00:00
Martin Wilck 2b47fb3cee - separate cleanly between async scheduling and file IO related issues.
- make the API compatible with other types of async requests (e.g. for
  sockets).
- remove exports of async IO related functions for DLL separation.
2002-04-05 22:53:57 +00:00
Alexandre Julliard f5e0f0c60a Added timer on server exit to wait a bit for new clients.
Don't remove the socket until the registry is closed to avoid a race.
2002-04-03 22:51:18 +00:00
François Gouget f6662576e3 Don't suspend a terminated thread. 2002-04-02 02:53:45 +00:00
Alexandre Julliard 4705b8a60e Avoid crash when trying to attach to a terminating process. 2002-04-02 02:50:24 +00:00
Chris Morgan 417296c4af Implement OpenThread() winapi call.
Implement a few pthreads functions.
2002-04-02 00:49:05 +00:00
Francois Gouget 0763abf115 Fix warnings for Linux, FreeBSD and Solaris. 2002-04-01 21:08:16 +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
Alexandre Julliard 81f2a7307b Send message for WSAAsyncSelect sockets directly from the server,
instead of using the service thread. Finished separation of ws2_32.
2002-03-23 20:43:52 +00:00
Alexandre Julliard 15979fda75 Fixed handling of timer callback routines when the thread owning the
callback terminates.
2002-03-23 18:50:04 +00:00
Alexandre Julliard aeb566052f Correctly fill parent pid, module size and module name in process and
module snapshots. Based on patches by Eric Pouech and Andreas Mohr.
2002-03-22 00:21:23 +00:00
Mike McCormack fc93261150 Begin to make wine an SMB client. 2002-03-12 19:24:04 +00:00
Mike McCormack 32521abd4b Finish any pending WaitCommEvents if the event mask is set to 0. 2002-03-12 19:19:57 +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
Rein Klazes 7e105b49c4 Allow integer atoms in set_property and remove_property. Needed by
FindText common dialog.
2002-01-31 23:34:18 +00:00
Alexandre Julliard 86e5efb6b3 Work around ftruncate implementations that don't support extending
files.
2002-01-29 02:51:12 +00:00
Eric Pouech 0faceb05fc Implemented interprocess DDE message posting. 2002-01-18 19:22:55 +00:00
Alexandre Julliard 8ba769f45f Check unix_pid again after attach. 2002-01-12 21:16:33 +00:00
Marcus Meissner 93c3faef94 Add refcounting to the thread member of the pipe user. 2002-01-12 21:16:13 +00:00
Martin Wilck aa47705809 Added support for socket flags. 2002-01-09 21:16:24 +00:00
Martin Wilck 88cd32b2d1 More general approach to file descriptor types and flags. 2002-01-09 20:30:51 +00:00
Martin Wilck b1c45b9424 Fixed a bug that caused APCs to be "forgotten". 2002-01-09 19:09:57 +00:00
Martin Wilck 718b1b711b Add server side support for async IO on files.
Use pread/pwrite to read/write from the offset specified in the
overlapped structure.
2002-01-07 21:02:15 +00:00
Eric Pouech a90875686f Fixed color definition (bg and fg were swapped).
Fixed some initialisation issues.
Fixed exit condition when nothing was allocated.
2002-01-02 21:45:47 +00:00
Alexandre Julliard 8ae5761dd0 Fixed string type in named pipe requests. 2001-12-31 22:26:51 +00:00
Alexandre Julliard 839dfda7a9 Save the registry before exiting on a SIGTERM. 2001-12-26 23:11:49 +00:00
Mike McCormack 89bb3abf7d Handle ReadIntervalTimeout=MAXDWORD special case a bit better. 2001-12-21 19:17:33 +00:00
Mike McCormack 6f011c0847 - move async activation into the server
- implement async queues
2001-12-20 00:07:05 +00:00
Eric Pouech 3940d8a294 Let the console renderer be defined as a thread. 2001-12-04 20:17:43 +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
Alexandre Julliard e806c97610 Skip queue cleanups if queue has been destroyed already. 2001-11-24 03:44:47 +00:00
Eric Pouech 0b83d4cbc6 New console code based on Win32 windows. 2001-11-23 23:04:58 +00:00
Francois Gouget 5c84fff413 Only include 'sys/user.h' for Linux. Fixes a compilation error on
FreeBSD 5.0.
2001-11-20 18:52:42 +00:00
James Juran 49c779a862 Prevent warnings about labels at end of switch statements when
compiling with gcc-3.x.
2001-11-19 02:24:14 +00:00
Francois Gouget 6e04f591f6 Fix the Solaris and FreeBSD compilation errors introduced by the
recent winsock update.
2001-11-19 02:23:22 +00:00
Alexandre Julliard 47f9821817 Moved WIN_FindWinToRepaint functionality to the server. 2001-11-14 21:28:36 +00:00
Francois Gouget 272023190e Make winsock.h and winsock2.h independent from the Unix headers.
Make them compatible with both the Unix C headers and the MSVCRT
headers.
Ensure compatibility with the Unix headers via the USE_WS_PREFIX
macro.
Add WINE_NOWINSOCK: prevents winsock.h from being included from
windows.h when defined.
Add ws2tcpip.h, move definitions to the right header.
2001-11-14 21:26:23 +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 c4be541dfa Avoid ftruncate to work around broken UMSDOS file system. 2001-11-07 20:25:12 +00:00
Mike McCormack 309ed4e1f1 Make ConnectNamedPipe work in overlapped mode. 2001-11-07 20:14:45 +00:00
Bill Medland 9e5af61ed5 Prevent danger of accessing freed memory (theoretical but unlikely
bug).
2001-11-06 22:25:11 +00:00
François Gouget 1425941e29 Fix the #include order for config.h.
Add #include "config.h" directives where needed.
2001-11-06 20:57:11 +00:00
Alexandre Julliard 4a9c83998c Allow owner to be the desktop window. 2001-11-06 17:54:15 +00:00
Alexandre Julliard ac2e4f1e3d Don't keep main exe and dlls handles open when the file is on
removable media.
2001-10-25 19:52:12 +00:00
Ove Kaaven 708a846a88 Save a disk file's drive type in the server object. 2001-10-24 00:23:25 +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
Francois Gouget 386cf6e342 When including 'wine/port.h', include it first.
Remove redundant 'config.h' includes.
2001-10-14 16:25:47 +00:00
Francois Gouget e5ddd26dd7 When including config.h, include it first. 2001-10-14 16:18:52 +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 d8a8c1131d Added atom_t type for atoms to make sure we use the same type
everywhere. Handle MIN_STR_ATOM offset in the server.
2001-10-12 18:45:29 +00:00
Alexandre Julliard 003f02b733 Removed the cleanup_window_queue request. 2001-10-11 20:50:10 +00:00
Alexandre Julliard 844ceb98ba Store window class atom in the server.
Keep unlinked windows on a separate list.
Implemented inter-process FindWindow().
2001-10-09 23:26:40 +00:00
Eric Pouech c73316db5b - fixed copy&paste bug (GENERIC_WRITE instead of GENERIC_READ)
- when getting the type of a handle, it has to be done even if no fd
  is attached to it (console for example)
2001-10-08 20:57:12 +00:00
Mike McCormack 568c67e173 Make serial fd blocking mode depend on FILE_FLAG_OVERLAPPED. 2001-10-08 20:40:57 +00:00
Alexandre Julliard 646d621fec Added get_file_info support to named pipes and sockets to avoid
breaking the get_handle_fd request.
2001-10-05 19:45:45 +00:00
Mike McCormack ff58be5c7f Fetch a handle type in FILE_GetUnixHandle. 2001-10-04 16:18:15 +00:00
Alexandre Julliard 7695d69046 A couple of optimizations to avoid some server calls in WIN_FindWndPtr
and related functions.
2001-09-24 01:19:59 +00:00
Alexandre Julliard 5af055d8df Avoid list corruption when linking window with HWND_BOTTOM (thanks to
Gerard Patel).
2001-09-24 01:13:48 +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 bc878ef4d9 Convert user handles received from client to full handles. 2001-09-12 17:09:24 +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
Francois Gouget 126e6b8175 Rename the regular WS_FD_XXX macros to FD_XXX.
Rename the Wine specific WS_FD_XXX macros to FD_WINE_XXX.
2001-08-24 19:14:56 +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
Daniel Walker c86517fcb6 - Fix for nonblocking sockets using WSAEventSelect() (patch from Ove
Kaaven).
- Changed WSAEnumNetworkEvents() so it only returns events that the
  application is looking for.
- Changed sock_poll_event() to interpret a POLLIN event with zero
  bytes waiting to be read as a POLLHUP.
2001-08-23 23:25:33 +00:00
Mike McCormack 05b6618ff3 Unconditionally set O_NONBLOCK when opening. 2001-08-21 17:01:48 +00:00
Alexandre Julliard b8dd37d239 Don't create the WINEPREFIX directory if it doesn't exist. 2001-08-09 21:22:33 +00:00
Andreas Mohr d66130ac9d Don't crash if send_thread_wakeup() fails. 2001-08-07 19:31:43 +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
Bernhard Rosenkraenzer 5dda1f7e2c Set executable permissions when creating .exe/.com files. 2001-07-23 18:09:41 +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
Ove Kaaven 705e7d708b Added STATUS_* constant for named pipes. Return STATUS_PIPE_NOT_AVAILABLE
when opening a named pipe if the pipe exists but no instances of it are
currently waiting for a connection.
2001-07-17 00:38:00 +00:00
Alexandre Julliard 5f258c68f3 Backed out the suspend_process_for_ptrace change.
Fixed a couple of races in ptrace code.
2001-07-14 00:50:30 +00:00
Alexandre Julliard 10109e6083 Removed unused functions suspend/remove_all_threads. 2001-07-12 22:35:20 +00:00
Alexandre Julliard 7614180e2d Small fixes to the debugger support. 2001-07-11 17:30:59 +00:00
Alexandre Julliard e630aa0b68 Merge WM_MOUSEMOVE messages. 2001-07-11 17:29:01 +00:00
Mike McCormack de7c3003e2 Start implementing named pipes. 2001-07-10 19:16:49 +00:00
Alexandre Julliard 9f55ae6f62 - Remove cooked hardware messages when they are dropped (reported by
Gerard Patel).
- Convert all posted 32-bit messages to Unicode before storing them in
  the queue.
- Faster implementation of MSG_IsPointerMessage.
- Moved a couple of functions from queue.c to message.c.
2001-06-28 04:37:22 +00:00
Mike McCormack 585e976f1a Remove truncate debug message printed on successful truncates. 2001-06-22 23:20:36 +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 838d65aebe Moved hardware message queue handling to the server. 2001-06-19 19:16:41 +00:00
Alexandre Julliard 4b29d669fc Ignore EAGAIN errors in read_request. 2001-06-19 18:23:13 +00:00
Bill Medland e81bf3f3ce SetFilePointer correction; return ERROR_NEGATIVE_SEEK (broken by the
64 bit file access enhancement).
2001-06-19 03:30:53 +00:00
Marcus Meissner 6bb990f7fd Drop any file64 functions, try to use system supplied 64-bit mode by
using proper defines.
2001-05-29 20:55:21 +00:00
Gerard Patel 63b1d175b3 Take message filters into account for WM_PAINT too. 2001-05-21 18:33:56 +00:00
Eric Pouech 476c2b4cc3 Fixed reply_message when there is no received message. 2001-05-19 17:38:21 +00:00
Alexandre Julliard 9be457dd3b Fixed typo in message filter check. 2001-05-18 23:22:12 +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
Marcus Meissner 3f1ed52d8b Implemented 64bit file size handling.
Removed several unneeded sys/stat.h includes.
2001-05-14 20:09:37 +00:00
Bang Jun-Young 18bf392b41 Added support for NetBSD. 2001-05-09 19:44:47 +00:00
Ove Kaaven ada7383852 Preserve the TF (Trap Flag) when continuing from a ptraced suspend. 2001-04-27 18:39:47 +00:00
Alexandre Julliard 84fdfd087a Repaired shared PE data sections. 2001-04-13 22:38:39 +00:00
Alexandre Julliard 21044c6319 Fixed handling of \\Registry prefix. 2001-04-10 21:18:17 +00:00
Alexandre Julliard 09cc91d1a8 Make sure the process socket is non-blocking.
Don't fail if nothing ready on recvmsg for a file descriptor.
2001-04-04 00:11:13 +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