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