Commit Graph

310 Commits

Author SHA1 Message Date
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
Alexandre Julliard a5a872efca Use the new send_fd mechanism for the set_console_fd server request. 2001-03-22 19:35:27 +00:00
Jeff Garzik 3ea0c073f8 Warning fixes. 2001-03-21 20:31:26 +00:00
Jeff Garzik f46eb1db43 Added some inclusions of string.h where necessary. 2001-03-21 20:30:46 +00:00
Mike McCormack 147ddfefcb Removed broken support for EV_TXEMPTY because it causes busy loops. 2001-03-14 17:25:52 +00:00
Mike McCormack 7526540e03 Add missing release object so server exits cleanly. 2001-03-14 17:25:26 +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 566a52ad8c Changed isolated for loops to while loops (based on a patch by Andreas
Mohr).
2001-03-05 19:34:17 +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 67a749999a New set of macros for server calls; makes requests without variable
part somewhat faster.
2001-02-27 02:09:16 +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 a4bc5a2138 Pass the stdin/stdout handles on startup to use as console (based on a
patch by Eric Pouech).
2001-02-16 19:08:19 +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
Andreas Mohr 22c80a2e9a Workaround for SuSE 7 2.2.16 kernel bug. 2001-01-12 23:02:39 +00:00
Josh DuBois 558b66077f Added a simple usage() function. 2001-01-11 22:28:35 +00:00
Mike McCormack 21ea8a9107 Calculate the timeout time once when the async is created. 2001-01-07 21:46:17 +00:00
Alexandre Julliard 2362380b64 Added separate queue for "system" APCs that get called even when the
thread is not in an alertable state.
Specify the select_request timeout as absolute value so that we can
restart the request when interrupted.
2001-01-06 01:48:51 +00:00
Alexandre Julliard ad29b90d08 Send the exe file handle in init_process_done request. 2001-01-05 22:24:15 +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 7f74824d9f Fixed error recovery during thread creation. 2000-12-26 00:30:30 +00:00
Alexandre Julliard 63411dbde5 Avoid dup'ing file descriptors when not necessary.
Do not send fd to the client if ops->get_fd() fails.
2000-12-22 21:12:36 +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
François Gouget ecae926945 Needs to include windef.h. 2000-12-15 21:30:35 +00:00
Alexandre Julliard 0b6a79c961 Converted enum_key_value request to the new request mechanism. 2000-12-15 20:57:00 +00:00
Martin Pilka 0c86432ea5 Changed the condition so it also works in case when sscanf returns EOF. 2000-12-12 00:34:44 +00:00
Alexandre Julliard e2222fd8ff Use libwine and libwine_unicode directly from their build directory
instead of using symlinks.
2000-12-06 00:05:14 +00:00
Andreas Mohr 1c99af4a7a Check the attributes of the *current* section, not only the attributes
of the *first* section...
2000-12-03 04:02:09 +00:00
Patrik Stridvall 7a4e599780 Fixed some issues found by winapi_check. 2000-12-01 23:53:46 +00:00
Dimitrie O. Paun 2af03e45b5 Do not include sys/ptrace.h and sys/user.h unconditionally.
Other portability fixes.
2000-11-29 20:04:09 +00:00
Dimitrie O. Paun 0b7a7bbc06 Include config.h in files that test for constants defined in it. 2000-11-25 01:31:17 +00:00
Alexandre Julliard 914406f854 Moved LDT handling to libwine.so. Changed the interface to use the
exported LDT_ENTRY structure.
2000-11-14 01:54:49 +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
Joerg Mayer abe635cfd7 Get rid of some warnings about unused variables, signed/unsigned
comparisons and incomplete initializations.
2000-11-11 00:38:37 +00:00
Alexandre Julliard 908464d448 Authors: Andreas Mohr <amohr@codeweavers.com>, Dimitrie O. Paun <dimi@cs.toronto.edu>, Patrik Stridvall <ps@leissner.se>
Various warning fixes.
2000-11-01 03:11:12 +00:00
Joerg Mayer 650ba4df23 Move inline and static to the beginning of declarations. 2000-10-29 18:06:04 +00:00
Federico Schwindt a5b696b6b4 Fixes for OpenBSD. 2000-10-28 00:32:08 +00:00
Kristoffer Gleditsch d2e2bb240a Added LDFLAGS to linking of wine-related binaries. 2000-10-25 21:36:54 +00:00
Patrik Stridvall a9f6a9daec Explicitly initialize structures. 2000-10-24 02:22:16 +00:00
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