Marcus Meissner
3199fe147d
server: Removed duplicate close of acceptfd (Coverity).
2012-10-10 10:35:38 +02:00
Francois Gouget
c7cb3e6cb2
configure: Use errno.h instead of the non-standard sys/errno.h header.
2011-12-15 17:46:38 +01:00
Marcus Meissner
27c9a61e15
server: Remove superflous NULL check (Coverity).
2011-06-14 15:27:13 +02:00
Mike Kaplinskiy
f58c709b5f
server: Fix connect failures on newer kernels.
2011-01-24 14:43:28 +01:00
Francois Gouget
c4c03180b0
server: Make sock_check_pollhup() more reliable on Solaris.
2010-11-29 19:43:35 +01:00
Gerald Pfeifer
87624c2c21
server: Remove pollev from set_socket_event.
2010-09-06 16:13:22 +02:00
Mike Kaplinskiy
333313aa2b
server: Allow queuing async reads on listening sockets.
2010-08-31 14:23:49 +02:00
Mike Kaplinskiy
ae5ad61fa8
server: Add accept_into_socket to accept into an initialized socket.
2010-08-31 14:23:49 +02:00
Mike Kaplinskiy
92b83ddffb
server: Don't cache sockets until they are pollable.
2010-08-31 14:23:49 +02:00
Eric Pouech
c1d35ba540
server: Fix method name in comments for fd_ops.
2010-08-30 17:51:05 +02:00
Alexandre Julliard
a2ca2ebd50
server: Change the removable fd flag to a cacheable flag to make it possible for fd users to set it dynamically.
2010-08-23 17:09:45 +02:00
Mike Kaplinskiy
fae0b6fa63
ws2_32: Don't set FD_READ/FD_WRITE before the connection is complete.
2010-08-03 12:00:48 +02:00
Mike Kaplinskiy
a6203f8b53
server: Fix some comments.
...
Apparently windows reports only currently valid events for WSAEnumNetworkEvents.
2010-07-28 16:28:27 +02:00
Mike Kaplinskiy
93db86a7e0
server: Don't delay events, we simply shouldn't send them in the first place.
2010-07-28 16:28:27 +02:00
Mike Kaplinskiy
0b251c08f2
server: Consume events triggered.
2010-07-28 16:28:26 +02:00
Mike Kaplinskiy
8d9fbe59b3
server: Forward the correct error to asyncs.
2010-07-20 14:40:31 +02:00
Mike Kaplinskiy
be230adbb7
server: In case of hangup/error, wake up all asyncs that can no longer be completed.
2010-07-20 14:40:31 +02:00
Mike Kaplinskiy
394a142237
server: Propagate error from recv.
2010-07-20 14:40:31 +02:00
Mike Kaplinskiy
75c7c63886
server: Move signaling FD_* events to a separate function.
2010-07-20 14:40:31 +02:00
Hans Leidekker
0a4984280f
server: Map EHOSTUNREACH to STATUS_HOST_UNREACHABLE.
2010-05-25 13:29:07 +02:00
Mike Kaplinskiy
ee5ee5c538
server: Move async activation into separate function.
2010-05-20 16:48:37 +02:00
Mike Kaplinskiy
ac12c67f40
server: Don't poll for events when there are async operations queued.
2010-05-19 16:57:59 +02:00
Mike Kaplinskiy
42debac149
server: Move socket async activation to sock_poll_event.
2010-05-17 14:41:33 +02:00
Mike Kaplinskiy
4f9e09ea57
server: Get rid of sock_try_event.
...
We *might* need to ignore POLLERR messages for UDP sockets, as the
condition is actually temporary and sock_try_event was hiding this.
2010-05-14 11:47:26 +02:00
Mike Kaplinskiy
d03fe9d4ec
server: Always treat POLLHUP as a hangup, just special case checking TCP sockets.
2010-05-14 11:45:44 +02:00
Mike Kaplinskiy
3aa93e11ad
server: Use a less hackish approach to not POLLIN when we have a hung up socket.
2010-05-13 11:54:27 +02:00
Mike Kaplinskiy
535f878e3d
server: Keep polling sockets after we got a 0 recv, but not for POLLIN.
2010-05-13 11:53:31 +02:00
Mike Kaplinskiy
f928580ac3
server: Set FD_READ in only 1 place (cleanup).
2010-05-13 11:51:34 +02:00
Mike Kaplinskiy
798c9e5161
ws2_32: Use ntstatus in overlapped functions.
2010-03-23 12:35:56 +01:00
Francois Gouget
bc8d21b5d7
server: Don't include winsock.h to avoid creating a dependency on generated headers.
...
The dependency does not really exist thanks to various #ifdefs, but
makedep does not know that and records it which causes a build failure.
2010-03-19 12:27:45 +01:00
Mike Kaplinskiy
8e669d9a61
server: Activate pending asyncs on a hangup/error.
2010-01-19 15:03:57 +01:00
Mike Kaplinskiy
b05774ee7e
server: Change cancel_async to take an optional iosb and only_thread.
2009-08-18 12:26:30 +02:00
Alexandre Julliard
31282b3f63
server: Define an lparam_t type for message parameters that can hold all sorts of data.
2008-12-10 16:01:50 +01:00
Alexandre Julliard
d764107434
server: Make user handles ints instead of pointers.
2008-12-08 16:57:38 +01:00
Alexandre Julliard
7d5f732d30
server: Convert source files to utf-8.
2008-10-18 19:22:26 +02:00
Alexandre Julliard
8382eb01b2
server: Return correct object types in the get_directory_entry request.
2007-12-05 18:16:42 +01:00
Rob Shearman
c1707d8938
server: Add get_sd and set_sd object operations to allow the security descriptor to be stored somewhere other than server memory, such as on disk.
2007-10-04 12:30:52 +02:00
Alexandre Julliard
24001e8ddc
server: Add a default access mapping function for files, and use it for devices too.
2007-10-02 14:20:15 +02:00
Dmitry Timoshkov
69025bafe7
server: Print a more informative message when file_set_error or sock_get_error can't map errno to a status code.
2007-09-10 15:29:46 +02:00
Alexandre Julliard
635714397f
server: Add infrastructure for ioctl server request.
2007-04-16 14:45:03 +02:00
Alexandre Julliard
7a9363a4d4
server: Rename the get_file_info function to get_fd_type and get rid of the flags.
2007-04-10 22:26:23 +02:00
Alexandre Julliard
f85437c57f
server: Store the opening options in the file descriptor instead of in the individual objects.
...
Allows moving the FD_FLAG_OVERLAPPED support to the generic
get_handle_fd request handling.
2007-04-10 22:25:07 +02:00
Alexandre Julliard
72bff2e445
server: Add support for restarting an async I/O when the client side couldn't finish it right away.
2007-04-10 17:07:27 +02:00
Alexandre Julliard
b2cba95abd
server: Hold a pointer to the queue from the async operations.
2007-04-03 19:36:07 +02:00
Alexandre Julliard
0aae1ca8bf
server: Add a separate function to set the timeout of an async I/O operation.
2007-04-02 20:41:59 +02:00
Alexandre Julliard
df09ac5194
server: Make async I/O queues into real objects.
2007-04-02 20:09:29 +02:00
Alexandre Julliard
589ce2bb8d
server: Always return STATUS_PENDING when an async I/O operation has been queued.
2007-03-26 19:13:21 +02:00
Alexandre Julliard
7e71c1ddee
server: Add an open_file() function to the object operations.
2007-03-22 11:44:29 +01:00
Alexandre Julliard
111610c45e
server: Add an async_data_t structure to store parameters for async I/O requests.
2007-03-20 20:21:12 +01:00
Andrew Talbot
b1788c8462
server: Replace inline static with static inline.
2007-03-17 20:05:05 +01:00
Alexandre Julliard
24b64534e5
server: Explicitly shutdown destroyed sockets to force pending poll() calls to return.
2006-12-04 18:02:02 +01:00
Alexandre Julliard
8930427b21
server: Return an fd type in the get_handle_fd request.
2006-11-20 14:14:04 +01:00
Alexandre Julliard
715d78e006
server: Refuse to close handles in other processes if they have an associated fd.
2006-11-02 20:52:22 +01:00
Eric Pouech
e0477ce92a
winsock: Clear the held mask with the requested events so that they can be signaled.
2006-10-23 12:26:18 +02:00
Mike McCormack
db9b557b54
server: Make wparam and lparam values unsigned long for win64 compatability.
2006-06-08 10:39:58 +02:00
Jonathan Ernst
360a3f9142
Update the address of the Free Software Foundation.
2006-05-23 14:11:13 +02:00
Alexandre Julliard
a510a7e117
server: Added access rights mapping to file objects.
2005-12-12 16:46:17 +01:00
Alexandre Julliard
28beba31d6
server: Added infrastructure for access rights mapping.
2005-12-12 14:57:40 +01:00
Alexandre Julliard
24560e70bb
server: Make alloc_handle use attributes instead of inherit flag.
2005-12-09 13:58:25 +01:00
Alexandre Julliard
bc30303c56
server: Use attributes instead of inherit flag in socket requests.
2005-12-09 11:58:55 +01:00
Ge van Geldorp
1a1583a364
Match PSDK STATUS_* definitions.
2005-11-28 17:32:54 +01:00
Vitaliy Margolen
baffcb95d3
Add name_lookup function in object_ops.
2005-11-22 14:55:42 +00:00
Mike McCormack
e659f1e60c
Fix some gcc 4.0 warnings.
2005-08-09 10:37:50 +00:00
Mike McCormack
390bc5f52f
Don't include winbase.h when it's not necessary.
2005-06-21 09:46:15 +00:00
Alexandre Julliard
b9b1ea9c9f
Added a close_handle method to the object operations, and use it to
...
implement registry notifications and the strange behavior of
CloseHandle on winstation/desktop handles.
2005-06-09 15:39:52 +00:00
Robert Shearman
c516571481
- Use NULL instead of 0 for all non-handle pointers.
...
- Fix non-ANSI function declarations.
- Make a function static.
2005-05-25 18:41:09 +00:00
Mike McCormack
f92fff66a2
Implemented NtSignalAndWaitForSingleObject.
2005-04-24 17:35:52 +00:00
Eric Pouech
7001d6ed34
Clean-up async IO internal functions.
2005-03-29 11:40:10 +00:00
Alexandre Julliard
dd81ac50a9
Convert async I/O queues to standard lists.
2005-02-24 17:06:31 +00:00
Eric Pouech
4634447d6b
- got rid of include/async.h
...
- fixed some overlapped issues in socket handling
- moved kernel32.CancelIo implementation to ntdll
2005-01-14 19:54:38 +00:00
Alexandre Julliard
6a27b48895
Fd type is no longer used, get rid of it.
2004-08-18 00:04:58 +00:00
Eric Pouech
1ffddb4d0c
- better support for non-blocking COMM and socket read/writes:
...
+ added necessary semantics to fd flags
+ no longer uses fd type (but fd flags) read/write semantic behavior
- fixed socket code to use the proper manifest constants
- fixes for kernel32.GetOverlappedResult without hEvent set
- in ntdll.Nt{Read|Write}File
+ always reset the event
+ added support for longlong offsets
+ better object disposal in error handling code paths
2004-08-17 23:37:55 +00:00
Filip Navara
2392a36370
Get rid of non-standard ERROR_UNKNOWN value.
2004-04-12 23:15:11 +00:00
Alexandre Julliard
18c08d307a
Removed the get_file_info request.
2004-04-08 19:09:04 +00:00
Alexandre Julliard
e37c6e18d0
Fixed header dependencies to be fully compatible with the Windows
...
headers (with help from Dimitrie O. Paun).
2003-09-05 23:08:26 +00:00
Alexandre Julliard
580da246f5
Added an inode object to keep track of all file descriptors open for a
...
given file.
Plugged a couple of potential file descriptor leaks.
2003-03-12 22:38:14 +00:00
Alexandre Julliard
e66207ebfc
Moved all references to file descriptors out of the generic object
...
structure.
Changed the poll()-related routines to deal with file descriptors
instead of objects and integrated poll support into fd.c.
2003-02-19 00:33:32 +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
Steven Edwards
037c8a1246
Porting fixes.
2003-02-11 22:27:13 +00:00
Alexandre Julliard
863637b158
Started moving functions that deal with Unix file descriptors to a
...
separate fd object. This will be needed for file locking.
2003-01-30 00:26:44 +00:00
Martin Wilck
c422dae189
Do not clear FD_WINE_CONNECTED on shutdown(). FD_WINE_CONNECTED
...
(currently unused) can thus be used to determine if a stream socket
was ever connected.
2003-01-28 00:24:04 +00:00
Alexandre Julliard
b3332d74b0
Converted the server to -DSTRICT.
2002-10-19 01:00:59 +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
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
Alexandre Julliard
cf5188b654
Attempt at fixing POLLHUP handling for Linux 2.2.x.
2002-06-21 19:06:28 +00:00
Vincent Béron
9a62491660
Removed trailing whitespace.
2002-05-31 23:06:46 +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
75242f9bef
Fixes to FD_CLOSE handling.
2002-04-27 01:06:09 +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
d15bf1c0fe
Fixed handling of deferred connections in WSAAccept().
2002-04-23 22:03:42 +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
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
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
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
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
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
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
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
Marcus Meissner
3f1ed52d8b
Implemented 64bit file size handling.
...
Removed several unneeded sys/stat.h includes.
2001-05-14 20:09:37 +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
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
1ab243bac1
Merged the get_read_fd and get_write_fd requests.
2000-12-19 02:12:45 +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
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
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
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
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
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
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
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
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