Commit Graph

1131 Commits

Author SHA1 Message Date
Alexandre Julliard 72ff2bf363 server: Create a separate fd object for each mailslot writer. Make them first-class file handles. 2007-04-12 20:19:28 +02:00
Alexandre Julliard d85121f199 ntdll: Store the file access and options in the fd cache, and get rid of the dynamic flags.
This avoids server round-trips for all file I/O.
2007-04-10 22:32:46 +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 bc426ab059 server: Explicitly shutdown closed pipes to prevent access from file descriptors cached in the client. 2007-04-10 21:30:37 +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 a867553146 server: Use the standard file descriptor signal mechanism for directory changes. 2007-04-04 19:54:33 +02:00
Alexandre Julliard ba896e75d7 server: Fix the handling of the signaled status for file descriptors.
File handles are signaled when an I/O operation completes, and reset
when another operation is queued.
2007-04-04 19:39:29 +02:00
Alexandre Julliard 0cb29f47ca server: Add support for associating a file descriptor to a message queue. 2007-04-04 18:02:01 +02:00
Alexandre Julliard 3d39c620da make_requests: More aggressive grepping for status values. 2007-04-04 18:01:22 +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 4e5c7038da server: Make timeout status for async I/O specifiable. Fix mailslots timeout handling. 2007-04-03 19:12:31 +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 02ed704be1 server: Check file access in register_async before calling the object method. 2007-04-02 20:24:55 +02:00
Alexandre Julliard df09ac5194 server: Make async I/O queues into real objects. 2007-04-02 20:09:29 +02:00
Alexandre Julliard d99ee344c2 server: Use the fd generic wait queue for directory change I/O operations. 2007-04-02 12:49:45 +02:00
Alexandre Julliard fd6f83d00a server: Take advantage of the fd generic wait queue to remove a lot of serial code. 2007-04-02 12:49:09 +02:00
Alexandre Julliard e92f85474f server: Avoid redundant polling in fd_queue_async_timeout.
Moved the file overlapped flag check to default_fd_queue_async.
2007-04-02 12:48:13 +02:00
Alexandre Julliard 95ba4b553c server: Add a generic wait queue to the file descriptor object. 2007-04-02 12:47:52 +02:00
Alexandre Julliard df651875ad server: Remove the return value of the flush() method, it's not used. 2007-03-27 16:51:44 +02:00
Alexandre Julliard c16eb8efd9 server: Add support for queuing a user APC upon async I/O completion. 2007-03-27 16:42:27 +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 73e0e8bf17 server: A named pipe wait can be satisfied by an idle pipe server too. 2007-03-23 14:03:23 +01:00
Alexandre Julliard 28a9374323 server: Print the callback function in the APC_ASYNC_IO trace. 2007-03-23 11:49:59 +01:00
Alexandre Julliard de1866d4fd server: Implement the open_file method for named pipes.
Get rid of the open_named_pipe request, we can now use a normal open_file_object.
2007-03-22 16:47:46 +01:00
Alexandre Julliard 806bb49eda server: Implement the open_file method for mailslots.
Get rid of the open_mailslot request, we can now use a normal open_file_object.
2007-03-22 16:36:54 +01:00
Alexandre Julliard 928d28f688 server: Don't enforce mailslots path format in ntdll, only in the server. 2007-03-22 14:41:37 +01:00
Alexandre Julliard 50c4800405 server: Don't enforce named pipes path format in ntdll, only in the server. 2007-03-22 14:40:41 +01:00
Alexandre Julliard 846dc62355 server: Create the named pipe and mailslot devices under \Device.
Add appropriate symlinks to them in the \?? directory.
2007-03-22 12:01:16 +01:00
Alexandre Julliard 94655c8493 server: Implemented the open_file method for named pipe and mailslot devices. 2007-03-22 11:52:40 +01:00
Alexandre Julliard 7e71c1ddee server: Add an open_file() function to the object operations. 2007-03-22 11:44:29 +01:00
Alexandre Julliard 2082a97d45 server: Use a standard async I/O event to signal directory changes. 2007-03-21 14:50:15 +01:00
Alexandre Julliard a133ad56f9 server: Move the signalling of the named pipe completion event to the server. 2007-03-21 14:31:54 +01:00
Alexandre Julliard 8adce7765a server: Notify the async object when the APC call completed. 2007-03-21 14:28:23 +01:00
Alexandre Julliard fa4679fea6 server: Add support for storing an event to signal upon async I/O completion. 2007-03-21 14:27:52 +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
Alexandre Julliard 50975c81f0 server: Return the status from an async I/O APC call to the server. 2007-03-20 19:27:10 +01:00
Alexandre Julliard 06db705238 server: Make struct async into a real object, to keep it around while the APC is running. 2007-03-20 19:23:59 +01:00
Alexandre Julliard 52a9af7ecb server: Grab the owner object of an APC while the APC is executing. 2007-03-20 19:22:39 +01:00
Alexandre Julliard eb3728d34e server: Use the common pattern for async I/O parameters in named pipe requests. 2007-03-20 19:21:15 +01:00
Andrew Talbot b1788c8462 server: Replace inline static with static inline. 2007-03-17 20:05:05 +01:00
Alexandre Julliard 0d16a7bbe4 Fixed some compilation issues on Mac OS X Leopard. 2007-03-12 16:14:18 +01:00
Alexandre Julliard f279252189 server: Added process control support using /proc on Solaris. 2007-03-09 13:40:41 +01:00
Alexandre Julliard bf17ce86d4 server: Use internal luid_t type where appropriate. 2007-03-07 13:45:11 +01:00
Juan Lang c2cb296277 ntdll: Implement NtAllocateLocallyUniqueId with server call. 2007-03-07 13:45:11 +01:00
Rob Shearman 221e01abd2 server: A general solution for handling MAXIMUM_ALLOWED access right has been implemented so remove the workarounds. 2007-03-06 22:17:39 +01:00
Alexandre Julliard b3fb3a6739 server: Replace use of internal __pthread_kill() function by a system call. 2007-03-05 17:09:54 +01:00
Alexandre Julliard 1767b4558a server: Expose areas revealed by changes to the window region. 2007-03-05 16:43:27 +01:00
Rob Shearman d342d1413c server: Add get_token_impersonation_level server call for retrieving the impersonation level from a token.
Add tests for GetTokenInformation(TokenImpersonationLevel).
2007-02-21 19:49:37 +01:00
Rob Shearman 6a76a0ac7a server: Check object's security when creating handles.
Don't check object's security when duplicating a handle of the same or 
lower access rights. Based on a patch by Vitaliy Margolen.
2007-02-21 19:49:02 +01:00
Alexandre Julliard 89faee0194 server: Added support for the PM_QS_* flags in PeekMessage. 2007-02-21 15:21:05 +01:00
Rob Shearman c9b9847dce server: Track the impersonation level of tokens. 2007-02-16 13:09:55 +01:00
Rob Shearman df0d625351 server: Track IDs for tokens and modifications made to tokens. 2007-02-16 13:09:49 +01:00
Vitaliy Margolen b0e9d7e0b5 ntdll/server: Implement NtSetSecurityObject. With tests. 2007-02-15 14:19:24 +01:00
Vitaliy Margolen 5ec1718d74 server: Add security descriptor field to object struct. 2007-02-15 13:28:00 +01:00
Vitaliy Margolen 6413a9c193 server: Get the primary group from the token's groups. 2007-02-13 17:47:43 +01:00
Vitaliy Margolen aa28ed0162 server: Fix typo. Should be group not owner. 2007-02-08 11:56:12 +01:00
Alexandre Julliard 49868e3c93 server: Clear the thread wait before releasing objects to avoid nested calls.
Reported by Misha Koshelev.
2007-02-05 18:05:03 +01:00
Ulrich Czekalla cae37b18fd wineserver: Validate the children of windows being hidden.
Prevents paint_count values from being skewed when hiding windows.
2007-01-26 12:55:47 +01:00
Vitaliy Margolen 55fdda4c3e server: Prevent a crash on error while creating a token. 2007-01-25 12:52:39 +01:00
Vitaliy Margolen c04e7e7878 advapi32: Add more tests for granted access mask. Fix test on Wine. 2007-01-25 12:52:27 +01:00
Vitaliy Margolen bae75024a4 server/ntdll: Simplistic implementation of NtQueryObject(ObjectBasicInformation). 2007-01-25 12:48:35 +01:00
Vitaliy Margolen fad936c7c5 server: Reverse return value and status in token_access_check to be consistent. 2007-01-25 12:44:35 +01:00
Vitaliy Margolen 2cf11ef771 advapi32: Add few more tests for token access check and fix it on Wine. 2007-01-25 12:42:32 +01:00
Vitaliy Margolen 97b122c03f server: User correct user sid for the default_dacl. 2007-01-22 12:02:10 +01:00
Vitaliy Margolen e612bd410c server: Add generic access mapping for winstation and desktop objects. 2007-01-19 12:28:58 +01:00
Alexandre Julliard f3cb4f7d94 ntdll: Avoid inter-process APCs when called for the process itself. 2007-01-18 15:41:05 +01:00
Alexandre Julliard 02e2fa7798 ntdll: Implementation of inter-process NtMapViewOfSection and NtUnmapViewOfSection. 2007-01-18 15:17:51 +01:00
Alexandre Julliard 8025f79ce1 ntdll: Implementation of inter-process RtlCreateUserThread. 2007-01-18 15:02:55 +01:00
Alexandre Julliard ae4ecb6c64 server: Print a trace when sending a signal to a thread. 2007-01-18 12:23:29 +01:00
Alexandre Julliard 3410354d61 ntdll: Fix NtDuplicateObject to only close the file descriptor if it's in the same process. 2007-01-18 12:18:51 +01:00
Alexandre Julliard c122260b9d ntdll: Implemented NtLockVirtualMemory and NtUnlockVirtualMemory. 2007-01-16 09:50:08 +01:00
Alexandre Julliard 5a1ad74a67 ntdll: Implementation of inter-process NtFlushVirtualMemory. 2007-01-15 22:31:07 +01:00
Alexandre Julliard 1ea968016f ntdll: Implementation of inter-process VirtualProtectEx. 2007-01-15 22:30:04 +01:00
Alexandre Julliard 3d00239586 ntdll: Implementation of inter-process VirtualQueryEx. 2007-01-15 22:28:42 +01:00
Alexandre Julliard 6ca1d1b081 server: Support queuing some APCs to a process instead of a thread. 2007-01-15 22:26:32 +01:00
Alexandre Julliard fb40dc4099 server: Added mechanism for returning results of APC calls.
Defined APC_VIRTUAL_ALLOC and APC_VIRTUAL_FREE requests.
2007-01-15 22:24:40 +01:00
Alexandre Julliard 46d7fa4852 server: Properly wake the waiting threads when an APC is cancelled. 2007-01-15 20:02:05 +01:00
Alexandre Julliard 1db223954f server: Set the specified in/out buffer sizes on named pipes using SO_SND/RCVBUF. 2007-01-12 20:59:22 +01:00
Alexandre Julliard 4cbe867a85 ntdll: Duplicate the mapping handle on the server side for NtMapViewOfSection. 2007-01-12 14:55:31 +01:00
Alexandre Julliard 5bd513640b ntdll: Moved the check for removable file in load_dll to the server. 2007-01-12 14:42:43 +01:00
Alexandre Julliard 2520e387a1 server: Allow suspended threads to run system APCs. 2007-01-10 21:55:23 +01:00
Alexandre Julliard 126bbb3fe3 server: Don't fail to map a shared section if the final sector is truncated. 2007-01-08 21:34:15 +01:00
Dmitry Timoshkov ced2e56ddc server: Map ESPIPE to STATUS_ILLEGAL_FUNCTION for consistency with ntdll. 2007-01-08 12:51:37 +01:00
Alexandre Julliard 60d6518c82 make_requests: Grab status names from async_terminate calls too. 2007-01-04 13:51:12 +01:00
Alexandre Julliard 5c8421d3e7 server: Add a generic apc_call structure to make it easier to extend, and more type-safe. 2007-01-04 13:40:09 +01:00
Alexandre Julliard 49b49c30fc server: Notify the server that an APC has completed in the next get_apc call. 2007-01-04 13:17:53 +01:00
Alexandre Julliard 2606ad538b server: Make thread_apc into a real object. 2007-01-04 12:36:33 +01:00
Alexandre Julliard 31b02bbd1f server: Avoid crash in alloc_console when the process has no parent. 2007-01-04 09:41:14 +01:00
Reinhard Karcher 41c93895b8 server: Fix 0 timeout handling for serial I/O. 2007-01-03 12:04:38 +01:00
Alexandre Julliard c273498ef4 server: Implement process control using Mach primitives for Mac OS.
With help from Ken Thomases.
2006-12-29 20:38:49 +01:00
Alexandre Julliard cd1c7fc056 server: Add hooks to support process tracing mechanisms other than ptrace. 2006-12-29 16:56:11 +01:00
Alexandre Julliard 48b74b3237 server: Split get_thread_from_pid to allow lookups by tid or pid only. 2006-12-29 16:53:33 +01:00
Alexandre Julliard 7035aa5041 make_makefiles: Generate the top-level .gitignore file.
Add a PROGRAMS variable in some makefiles to make things easier.
2006-12-27 21:23:36 +01:00
Alexandre Julliard 9fed1205ca ntdll: File positions should be aligned to sector boundaries in PE loader. 2006-12-21 12:34:44 +01:00
Andrew Talbot 53dae9b7f5 server: Cast-qual warnings fix. 2006-12-18 11:40:03 +01:00
Andrew Talbot 76c556ad68 server: Cast-qual warnings fix. 2006-12-18 11:39:58 +01:00
Alexandre Julliard 3dc21d387b ntdll: Map the PE header up to the specified size, and clear the rest of the page. 2006-12-13 16:04:49 +01:00
Ulrich Czekalla 4bdf4345b8 winex11.drv: Store window and drawable rects in X11DRV_PDEVICE. 2006-12-12 13:45:10 +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
Eric Pouech 5b1f3b14ca ntdll: Fixed returned status for NtQueryThreadInformation's ThreadDescriptorTable
(spotted by Peter Oberndorfer).
2006-11-15 11:24:41 +01:00
Alexandre Julliard d6f8284c2f server: Fix list corruption caused by previous change. 2006-11-13 12:53:09 +01:00
Alexandre Julliard 110a6fe5b6 server: Properly handle kill_thread recursion when killing a process.
Spotted by Mike McCormack.
2006-11-10 12:18:54 +01:00
Gerald Pfeifer 35f0a41629 server: Compilation fix. 2006-11-06 12:27:12 +01:00
Alexandre Julliard 02fc886302 ntdll: Retrieve mailslot message info from the client side. 2006-11-03 17:53: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
Alexandre Julliard 8700c4341b server: Get rid of the server-side file descriptor cache management. 2006-11-02 20:52:05 +01:00
Alexandre Julliard 28418cc919 ntdll: Maintain a file descriptor cache on the client side. 2006-11-02 20:48:19 +01:00
Alexandre Julliard 30b878b3b6 server: Compute the removable device flag on the server side. 2006-11-01 13:28:05 +01:00
Alexandre Julliard 844374afaf server: Always ignore the root window position when computing coordinates offsets. 2006-10-26 13:04:52 +02: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
Alexandre Julliard 85f518ac6b server: A window timer id should be an unsigned long. 2006-10-16 17:03:44 +02:00
Michael Stefaniuc 5cecceccb2 server: Remove redundant NULL check before free() (found by Smatch). 2006-10-10 12:56:16 +02:00
Andrew Talbot e60c86657a server: Cast-qual warning fix. 2006-10-09 15:23:28 +02:00
Alexandre Julliard 2f80fcd88d server: Changed the get_next_hook request to allow retrieving the current hook too. 2006-10-05 14:05:48 +02:00
Alexandre Julliard 533f519950 user32: Store the prev_unicode hook flag on the client side. 2006-10-05 14:04:25 +02:00
Alexandre Julliard 81c1472449 user32: The per-window user data must be a DWORD_PTR. 2006-10-04 21:49:11 +02:00
Alexandre Julliard e0dcf4fddb server: Rearrange a few fields to avoid wasting padding space on 64 bits. 2006-10-04 21:41:32 +02:00
Alexandre Julliard 3ad9798263 server: Pass the data for message callbacks as vararg from the client side. 2006-10-04 20:25:42 +02:00
Alexandre Julliard 29a3ce9f3a server: Return the data for callback results in the varargs part of the get_message request. 2006-10-04 16:29:45 +02:00
Alexandre Julliard 59dc456822 server: Return the data for winevent hooks in the varargs part of the get_message request. 2006-10-04 16:04:53 +02:00
Eric Pouech 8cb932ea89 ntdll: Implemented AmILastThread information class for NtQueryInformationThread. 2006-10-03 20:20:13 +02:00
Alexandre Julliard 01dd1ffdc2 ntdll: Implement FSCTL_DISMOUNT_VOLUME for MacOSX. 2006-10-03 14:54:21 +02:00
Michael Stefaniuc 5664b8eeef server: Win64 printf format warning fixes. 2006-10-02 11:55:01 +02:00
Michael Stefaniuc 85ce5117c5 Add a WINE_NO_LONG_INT define to many makefiles to ease the transition of DWORD/LONG/ULONG from long to int. 2006-09-29 16:08:30 +02:00
Alexandre Julliard 81977b773b server: Kill the process without SIGTERM when the fd socket is closed. 2006-09-21 11:14:45 +02:00
Alexandre Julliard 32ab895e46 makefiles: Generate the dependencies line to avoid some code duplication. 2006-09-14 09:38:16 +02:00
Robert Shearman 4d7b23069b server: Translate errnos ENFILE and EMFILE to STATUS_TOO_MANY_OPENED_FILES,
which seems to be more appropriate and matches the errno translation
in ntdll.
2006-09-07 10:17:18 +02:00
Alexandre Julliard 13a93b4a94 configure: Set rpath on all executables that link to libwine.
Also add the -multiply_defined suppress option for executables on MacOS.
2006-08-25 17:23:44 +02:00
Mike McCormack 261691fa2f server: Use ntdll values where possible. 2006-08-23 12:01:10 +02:00
Alexandre Julliard 498b781e23 server: Store the actual process count in snapshots.
We can't rely on running_processes for that, since it now also counts
processes waiting for SIGKILL and those aren't included in snapshots.
2006-08-15 20:31:54 +02:00
Alexandre Julliard 1089260f29 configure: Only link against libpoll where really necessary. 2006-08-15 11:41:59 +02:00
Alexandre Julliard 3a4c04dce4 server: Make sure to completely kill processes before returning from a wineserver -k. 2006-08-14 20:40:31 +02:00
Alexandre Julliard 68e850e602 server: Send a SIGKILL to processes that don't terminate properly. 2006-08-14 20:19:42 +02:00
Alexandre Julliard 753c8706f5 server: Only call gettimeofday once per poll loop. 2006-08-10 16:42:09 +02:00
Alexandre Julliard 672bfc2d62 server: Make the message extra info 64 bits on Win64. 2006-08-09 17:10:14 +02:00
Alexandre Julliard d3b3096756 server: Split the queuing of hardware messages into a separate send_hardware_message request. 2006-08-09 16:45:26 +02:00
Alexandre Julliard 2886e9b0e8 makefiles: Use make dependencies to create installation directories.
This avoids a lot of redundant calls to mkinstalldirs.
2006-08-07 17:48:18 +02:00
Alexandre Julliard c82789264b server: Added support for kqueue() as an alternative to poll() on FreeBSD. 2006-08-04 22:11:00 +02:00
Alexandre Julliard 2f4072740e server: Abstract the epoll functions a bit more. 2006-08-03 19:56:55 +02:00
Thomas Kho 3538c0cdce server: Remove unused thread_apc member. 2006-08-03 18:20:20 +02:00
Alexandre Julliard 2c2299685f user: Implementation of Get/SetWindowLongPtr for 64-bit platforms.
Also use the same code for Get/SetWindowWord.
Based on a patch by Ge van Geldorp.
2006-08-02 21:59:00 +02:00
Alexandre Julliard 4d1d49b78a server: Round up the timeout for poll() to avoid redundant calls. 2006-07-27 14:39:50 +02:00
Alexandre Julliard 5522446848 server: Don't crash on invalid request sizes. 2006-07-27 14:39:33 +02:00
Alexandre Julliard c627601c3b server: Convert the server start time to the abs_time_t type. 2006-07-26 14:50:55 +02:00
Alexandre Julliard 3095a48d6f server: Convert thread creation/exit times to the abs_time_t type. 2006-07-26 14:49:55 +02:00
Alexandre Julliard ce40ef18df server: Rename the wait_input_idle request to better reflect what it does.
Also get rid of the unused timeout field.
2006-07-26 11:48:25 +02:00
Alexandre Julliard 40723f795b server: Make the create_async function take an absolute timeout. 2006-07-26 11:47:42 +02:00
Michael Stefaniuc a624977f21 server: Fix some comparisons between signed and unsigned. 2006-07-26 11:11:04 +02:00