Commit Graph

937 Commits

Author SHA1 Message Date
Alexandre Julliard d8659a9773 server: Get rid of the no longer used get_thread_single_step function. 2006-04-10 20:27:45 +02:00
Alexandre Julliard 820c5927c8 server: Removed the thread attached flag, since we always detach now. 2006-04-10 20:25:22 +02:00
Alexandre Julliard 5cc97c4e0b server: Always detach from the thread when we are done with ptrace. 2006-04-10 20:21:46 +02:00
Alexandre Julliard 2eb46bb464 explorer: Don't use ExitWindows on shutdown.
ExitWindows kills all current processes and that creates a race with
newly started processes. Instead, simply exit and let the new process
create a new explorer.
2006-04-07 20:26:47 +02:00
Alexandre Julliard cb70931f67 server: Moved read/write_process_memory and get_selector_entry to ptrace.c. 2006-04-07 19:52:12 +02:00
Alexandre Julliard 0b492c708f server: Hide assumptions about alignment inside the read_process_memory function. 2006-04-07 19:43:44 +02:00
Alexandre Julliard 959bbf8b75 server: Get rid of alignment requirements in write_process_memory request.
All the alignment handling is now done in the write_process_memory
function inside the server.
2006-04-07 18:41:58 +02:00
Robert Shearman 7a3df4d097 server: Free ptr in console_input_append_hist.
Free ptr in console_input_append_hist before returning, otherwise it
will be leaked (found by Coverity).
Remove the setting of last error on mem_alloc failure, as it is already
done in mem_alloc.
2006-04-07 13:08:49 +02:00
Robert Shearman 0bf1c22cad server: Handle failure of mem_alloc in duplicate_token. 2006-04-07 13:08:33 +02:00
Robert Shearman 9e0d0563c1 server: Handle possible mem_alloc failure in create_token. 2006-04-07 13:07:54 +02:00
Robert Shearman d8058fbe8c server: Should use release_object on an object instead of free. 2006-04-07 13:07:47 +02:00
Mike McCormack 14278b4299 server: Avoid comparison of -1 with an unsigned variable. 2006-04-07 11:45:58 +02:00
Alexandre Julliard 3dd0b2ef64 server: Don't single step into signal handlers. 2006-04-03 21:42:42 +02:00
Alexandre Julliard c5c599d478 server: Avoid crash on startup when the configuration dir doesn't exist. 2006-03-31 13:06:04 +02:00
Robert Shearman d18711e282 server: Store the token source. 2006-03-30 12:41:23 +02:00
Mike McCormack f5c1381e06 server: Fix a race condition in the delivery of change notifications. 2006-03-28 12:21:54 +02:00
Alexandre Julliard 90af5a0d17 server: Connect to the window station and desktop specified by startup info.
If window station and desktop aren't inherited from the parent, don't
connect to them from the server, but from the USER init code where we
can get the proper values from the startup info structure.
2006-03-27 12:57:17 +02:00
Alexandre Julliard 641e9e382f server: Store window properties in the global atom table instead of
the per-winstation table.
2006-03-27 12:50:26 +02:00
Alexandre Julliard 0a3646292a server: Fixed process exit code on FreeBSD. 2006-03-27 12:14:24 +02:00
Ken Thomases 1c788eada2 server: Fix memory leak in read_process_memory handler. 2006-03-24 12:54:19 +01:00
Phil Krylov 8e772c83ef server: Fix compilation under Darwin 7. 2006-03-24 12:14:14 +01:00
Alexandre Julliard 9873494ced server: Class and global atoms should not be local to a window station. 2006-03-22 22:13:40 +01:00
Alexandre Julliard b00fb174f6 server: New scheme for cleaning up objects on server exit.
Objects stored in static variables can now be marked when they are
created and are automatically cleaned up on exit. This avoids having
to export a bunch of close_* functions.
2006-03-22 20:32:04 +01:00
Alexandre Julliard 3d531f1bb5 server: Fixed length check in dump_inline_unicode_string. 2006-03-07 14:59:49 +01:00
Alexandre Julliard 1a4f6e579b user: Launch explorer to manage the desktop window. 2006-03-07 11:42:35 +01:00
Alexandre Julliard f978f615d8 server: Support for closing the desktop window.
If a thread is owning the desktop window, when all other users of the
desktop have exited, signal the owner to close the desktop (with a 1
second delay).
2006-03-06 21:02:24 +01:00
Alexandre Julliard 8cea993033 server: Added unlink_named_object function.
Allows to remove the name of an object while keeping around the object
itself.
2006-03-06 21:00:09 +01:00
Alexandre Julliard 251be542ac server: Infrastructure for having a thread own the desktop window. 2006-03-06 20:37:52 +01:00
Alexandre Julliard 71b94726d9 server: Avoid crash in set_thread_desktop if the thread doesn't have a queue. 2006-03-06 15:10:59 +01:00
Alexandre Julliard 4be3d4c12b server: Return real parent and owner in the create_window request.
Remove computing of parent and owner handles on the client side.
2006-03-06 15:00:37 +01:00
Alexandre Julliard c9cc7e33ff Fixed some compiler warnings on old gcc versions. 2006-03-02 18:03:32 +01:00
Mike McCormack 0cd0626de0 server: Print a message if wineserver crashes and we don't dump cores. 2006-03-01 12:35:17 +01:00
Eric Pouech 6b95c0e4b4 kernel32: ClearCommError.
ClearCommError should only deal with *communication* errors (are being
seen on the serial interface) rather than API errors (which can be
reported to the caller by the API itself).  I then removed all the
stuff related to storing the error status in the server object.
2006-02-27 13:54:43 +01:00
Francois Gouget 4aa6418d51 Assorted spelling fixes. 2006-02-24 21:10:03 +01:00
Mike McCormack 4212108598 server: Add directories to recursive watches as they're opened. 2006-02-23 12:29:57 +01:00
Mike McCormack 309a9bf36f server: Make sure we don't get into an infinite loop freeing inodes. 2006-02-22 16:19:55 +01:00
Alexandre Julliard e27358ea5c server: Remove no longer needed fields in the init_process_done request. 2006-02-21 20:08:19 +01:00
Alexandre Julliard 492661079c server: Avoid hang on process startup.
Fixed the startup_info signaled state to avoid blocking the parent
process when the child crashes on startup.
2006-02-21 19:30:17 +01:00
Mike McCormack e4faabfa64 server: Track created and removed directories in the tree of inodes for inotify.
Add them to or remove them from existing recursive watches.
2006-02-21 11:13:23 +01:00
Mike McCormack a2813f7c2e server: Distinguish between a directory and a file changing in
ReadDirectoryChangesW.
Add a test for it.
2006-02-20 12:28:46 +01:00
Alexandre Julliard 5ed59015b2 configure: Use --rpath if supported when building binaries to point to
the relative location of the wine libraries.
2006-02-20 11:20:47 +01:00
Mike McCormack fbc00db3f6 server: Use a single inotify watch, as it scales better with a large
number of directories.
2006-02-17 11:40:38 +01:00
Alexandre Julliard e6374cbea7 server: Store the process exe module in the standard dll list. 2006-02-16 12:13:01 +01:00
Mike Frysinger 5392844392 Add support for 'make install DESTDIR'. 2006-02-14 13:51:38 +01:00
Eric Pouech 22357ca388 server: When possible, use tgkill instead of tkill syscall on Linux. 2006-02-14 12:24:32 +01:00
Alexandre Julliard 5d282dc891 server: Try to update the input key state even when the message is
dropped in queue_hardware_message. This should fix some problems with
the Alt key getting "stuck" after Alt-Tab.
2006-02-14 10:43:15 +01:00
Alexandre Julliard e0330145d8 server: Remove the no longer needed exe_file parameter in the
init_process_done request.
2006-02-08 15:25:12 +01:00
Alexandre Julliard 2b0033d5ad server: Allow the main exe to be registered as a normal dll before
init_process_done is called.
2006-02-08 15:07:16 +01:00
Alexandre Julliard e979832dda server: Fixed handling of inotify record length. 2006-02-08 15:06:42 +01:00
Mike McCormack 0790f95589 kernel32: ReadDirectoryChangesW fixes.
ReadDirectoryChangesW remembers whether it's recording changes or not.
Don't initialize overlapped->InternalHigh.
The hEvent is cleared when ReadDirectoryChanges is called.
2006-02-07 16:50:36 +01:00
Mike McCormack 0193211946 server: Fill in NtNotifyChangeDirectoryFile's buffer with change data. 2006-02-06 11:58:55 +01:00
Robert Millan 8800352477 Enable for GNU/kFreeBSD the same kernel-specific interface/parameter
that is used with FreeBSD.
2006-02-05 13:06:50 +01:00
Alexandre Julliard 2a36dd239c server: Remove no longer used create_flags from get_startup_info request. 2006-02-05 12:33:24 +01:00
Alexandre Julliard cf9ced5e69 server: Fixed compile without inotify. 2006-02-05 12:19:56 +01:00
Mike McCormack fdf0c684f5 server: Initial inotify support. 2006-01-30 18:15:31 +01:00
Eric Pouech 2e0b5336f6 Suppress some false-positives reported by valgrind. 2006-01-27 16:17:51 +01:00
Alexandre Julliard 8b0feb253b server: Make the FILE_SHARE_DELETE sharing checks depend on DELETE
access instead of on the FILE_DELETE_ON_CLOSE flag (based on a patch
by Mike McCormack).
2006-01-27 15:50:38 +01:00
Mike McCormack 08351071fd server: Fix the file notification interface to use directory handles. 2006-01-27 12:13:56 +01:00
Alexandre Julliard 6d85f3bf21 server: Fixed low-level hardware hooks.
The hook thread field has been reused for win events, so it no longer
works for low-level hardward hooks. Use the owner field instead.
2006-01-27 12:12:15 +01:00
Alexandre Julliard 471782ae29 server: Allow opening a directory with write access (based on a patch
by Mike McCormack).
2006-01-25 15:06:48 +01:00
Alexandre Julliard ab5ca5c048 server: Use the new set_fd_user function in create_serial(). 2006-01-24 13:31:48 +01:00
Mike McCormack 9a7124e815 server: Modify open_fd to create an fd without a user.
Create a set_fd_user function.
Update create_file() to use the above functions.
2006-01-24 13:30:55 +01:00
Alexandre Julliard 53496f83e7 Fixed a couple of warnings on MacOS. 2006-01-23 16:48:26 +01:00
Alexandre Julliard 58273ea9c6 server: More generic mechanism for adding typecasts in server traces.
Added casts for size_t values.
2006-01-23 16:40:57 +01:00
Robert Shearman a40ce39340 user: Fix WM_QUIT message ordering from PostQuitMessage.
Added a new server call as PostQuitMessage should set a flag in the
message queue to return the WM_QUIT message when there are no other
pending messages, rather than posting a message to the thread queue as
it does at the moment.
2006-01-17 13:14:31 +01:00
Mike McCormack 213e01e606 server: Make sure to release the fd we grabbed in all cases. 2006-01-17 13:13:14 +01:00
Alexandre Julliard 2878d99216 ntdll: Add debug registers to the context of all exceptions.
Maintain a local cache of the debug registers to avoid server calls
where possible.
2006-01-13 13:58:14 +01:00
Alexandre Julliard b54e9e94e9 server: Don't round up the header size for image mappings. 2006-01-11 20:59:26 +01:00
Alexandre Julliard 2654be08d5 ntdll: Handle NtSetContextThread on the client side (as far as
possible) when setting the context of the current thread.
2006-01-11 20:20:32 +01:00
Eric Pouech b7607aebdc ntdll: Correct implementation for atom query functions. 2006-01-03 17:34:43 +01:00
Vitaliy Margolen 4fabe112d7 server: Fix va_list compile error. 2006-01-03 12:06:03 +01:00
Alexandre Julliard b4fa1b914c server: Fixed console access rights handling. 2005-12-22 13:54:34 +01:00
Alexandre Julliard bd298b511e server: Set the context flags in get_thread_context to indicate which
parts of the returned context are valid.
2005-12-21 20:06:42 +01:00
Vitaliy Margolen b05340a523 ntdll: Implement FSCTL_PIPE_WAIT NtFsControlFile ioctl.
Implement FSCTL_PIPE_WAIT NtFsControlFile ioctl.
Modify WaitNamedPipeW to use NtFsControlFile.
Replace struct overlapped with event.
2005-12-14 11:14:02 +01:00
Alexandre Julliard 1acb930db8 server: Added get_file_info implementation for named pipe and mailslot devices. 2005-12-13 12:00:11 +01:00
Alexandre Julliard 5bcd0888ef server: Fixed refcounting in get_fd requests for named pipe and mailslot devices. 2005-12-13 11:22:28 +01:00
Alexandre Julliard 770c4a1551 server: Don't enable polling on regular files in add_queue. 2005-12-12 17:20:03 +01:00
Alexandre Julliard a510a7e117 server: Added access rights mapping to file objects. 2005-12-12 16:46:17 +01:00
Alexandre Julliard 46d1b3e8da server: Added access rights mapping to process and thread objects. 2005-12-12 15:03:07 +01:00
Alexandre Julliard 32a93960ba server: Added access rights mapping to registry key objects. 2005-12-12 15:02:26 +01:00
Alexandre Julliard e57f734765 server: Added access rights mapping to symlink objects. 2005-12-12 15:01:16 +01:00
Alexandre Julliard 5fb2e68bb2 server: Added access rights mapping to token objects. 2005-12-12 15:01:08 +01:00
Alexandre Julliard 03f46e1321 server: Added access rights mapping to synchronization objects. 2005-12-12 14:58:44 +01:00
Alexandre Julliard 28beba31d6 server: Added infrastructure for access rights mapping. 2005-12-12 14:57:40 +01:00
Alexandre Julliard b0aa29effa server: Allow the mailslot device to be opened as a file object. 2005-12-12 14:39:27 +01:00
Alexandre Julliard 26e60d8ffc server: Allow the named pipe device to be opened as a file object. 2005-12-12 14:30:06 +01:00
Alexandre Julliard 67505c00af server: Support for opening devices.
Added support for opening devices directly with the server when they
don't correspond to a Unix file.
2005-12-12 14:27:45 +01:00
Alexandre Julliard 2017555b06 server: Use a better error code for a zero-size mapped file. 2005-12-12 13:38:43 +01:00
Alexandre Julliard 03b040c51d server: Added object attributes to a few more requests. 2005-12-09 14:52:04 +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 7b910f40f2 server: Use attributes instead of inherit flag in dup_handle request. 2005-12-09 12:21:35 +01:00
Alexandre Julliard 836d07c369 server: Use attributes instead of inherit flag in token requests.
Also use the specified access rights in the open_token request.
2005-12-09 12:17:19 +01:00
Alexandre Julliard f2d7dd645e server: Use attributes instead of inherit flag in process and thread requests. 2005-12-09 12:13:11 +01:00
Alexandre Julliard f11d0a375f server: Use attributes instead of inherit flag in snapshot requests. 2005-12-09 12:09:44 +01:00
Alexandre Julliard 7a096601e3 server: Use attributes instead of inherit flag in console requests. 2005-12-09 12:05:20 +01:00
Alexandre Julliard 27b1aec925 server: Use attributes instead of inherit flag in file requests. 2005-12-09 12:00:48 +01:00
Alexandre Julliard bc30303c56 server: Use attributes instead of inherit flag in socket requests. 2005-12-09 11:58:55 +01:00
Vitaliy Margolen 4e36524916 server: Remove sync_namespace. 2005-12-05 14:52:18 +01:00
Alexandre Julliard d13095bc84 server: Let the directory code handle device names. 2005-12-05 14:52:02 +01:00
Vitaliy Margolen cf21d4d7ca Move mailslot devices into directory name space. 2005-12-05 13:30:26 +01:00
Vitaliy Margolen babfa79436 Move named pipe objects into directory name space.
Change tests accordingly.
Add small test for WaitNamedPipe.
2005-12-05 13:09:35 +01:00
Alexandre Julliard 3764da68de server: Move handle allocation out of open_object_dir. 2005-12-05 12:52:05 +01:00
Vitaliy Margolen 348a3d912b Move mapping (section) objects into directory name space. 2005-12-02 16:13:13 +01:00
Vitaliy Margolen 7c5cb7a229 Move timer objects into directory name space. 2005-12-02 16:05:54 +01:00
Vitaliy Margolen 5daae3dfa9 Move semaphore objects into directory name space. 2005-12-02 16:01:17 +01:00
Vitaliy Margolen f676bc8d85 Move event and mutex objects into directory name space. 2005-12-02 15:55:48 +01:00
Alexandre Julliard e21a97da85 Fixed some compiler warnings on Darwin. 2005-12-01 12:36:05 +01:00
Vitaliy Margolen 80444dfe51 Implement symbolic link object in wineserver.
Implement Nt[Create|Open|Query]SymbolicLinkObject.
Change tests accordingly.
2005-11-30 19:22:57 +01:00
Vitaliy Margolen 3c6bdcce53 Implement directory object in wineserver.
Implement Nt[Create|Open]DirectoryObject.
Change tests accordingly.
2005-11-29 17:21:05 +01:00
Ge van Geldorp 1a1583a364 Match PSDK STATUS_* definitions. 2005-11-28 17:32:54 +01:00
Alexandre Julliard 0ec7e1a591 Renamed all .cvsignore files to .gitignore. 2005-11-26 13:10:33 +01:00
Vitaliy Margolen baffcb95d3 Add name_lookup function in object_ops. 2005-11-22 14:55:42 +00:00
Alexandre Julliard 7f9e281b72 Use struct unicode_str instead of null-terminated strings where
possible, and remove constraints on total key path length.
2005-11-22 12:05:36 +00:00
Robert Lunnon 95414ef44c Add stdarg.h where missing. 2005-11-22 12:01:05 +00:00
Vitaliy Margolen 893987b871 Return correct error on name collision when creating new named
objects.
Check for correct error in affected places.
2005-11-21 16:27:03 +00:00
Alexandre Julliard 86397e1d43 Fixed handling of mailslot read timeout to avoid compiler warnings. 2005-11-21 15:23:49 +00:00
Vitaliy Margolen 83ef91ce2d Replace inherit flag with object attributes in winstation and desktop
create & open. Use OBJ_OPENIF flag to create winstation & desktop.
2005-11-21 12:05:38 +00:00
Alexandre Julliard ead9b062e3 Added a struct unicode_str to encapsulate object names. 2005-11-18 16:31:18 +00:00
Alexandre Julliard 80b997a2cc Added support for the QS_ALLPOSTMESSAGE flag. 2005-11-14 15:17:09 +00:00
Alexandre Julliard 73c72390f8 Fixed Get/SetThreadContext to work properly on suspended threads.
Added a test case.
2005-11-02 20:54:12 +00:00
Vitaliy Margolen f2686d4620 Fix error returned when opening nonexistent pipes. 2005-11-02 14:15:09 +00:00
Alexandre Julliard 3f85e26af2 Moved the platform-independent part of the get/set_thread_context
requests to a common file.
2005-11-02 14:12:13 +00:00
Alexandre Julliard ff7795ef4c Don't send an extra signal when waiting for a debug event, just do a
normal wait.  Return the debug event status directly as return value
of the server call.
2005-11-01 21:47:07 +00:00
Alexandre Julliard d6f7adb367 Don't send the incoming context to the server for get_thread_context,
instead copy only the relevant fields of the return value on the
client side.
2005-11-01 21:41:26 +00:00
Vitaliy Margolen ecca104869 Fix error returned when exceeding allowed instances. 2005-11-01 21:37:30 +00:00
Vitaliy Margolen 1ca6e899ec - Use OBJ_CASE_INSENSITIVE in object lookup.
- Remove case_sensitive flag from namespace.
- Remove todo_wine from now succeeding tests.
2005-11-01 10:22:38 +00:00
Marcus Meissner 4b811d9348 Do not overflow the stackbased "nt" struct when reading non-conforming
PE files.
2005-10-31 21:03:05 +00:00
Vitaliy Margolen 3585f2fa77 Pass object attributes to create_named_object & find_object. 2005-10-29 12:38:23 +00:00
Vitaliy Margolen a996000ad5 - Send whole OBJECT_ATTRIBUTES.Attributes to the server not just an
inherit flag.
- Pass DesiredAccess to the server when creating mailslot.
2005-10-27 18:30:37 +00:00
Alexandre Julliard f8037bddce Make the unmount_device request take a handle to the device file
itself instead of a handle to a file opened on the device.
2005-10-27 11:20:50 +00:00
Alexandre Julliard 2790923722 Removed incorrect process queue check in wait_input_idle. 2005-10-12 21:10:52 +00:00
Alexandre Julliard 12a749984c Put Wine version information in all the man pages. 2005-10-06 16:10:01 +00:00
Alexandre Julliard 664e4106c6 Added global rules for man pages. 2005-10-06 16:06:04 +00:00
Vitaliy Margolen 9a7b41ad53 Fix refcount leak and return correct error in create_named_object. 2005-09-28 12:04:51 +00:00
Alexandre Julliard 79b387deb6 Initial version of a wineserver man page. 2005-09-27 10:56:47 +00:00
Eric Pouech b09582a890 Implemented kernel32 process affinity handling on top on ntdll. 2005-09-27 10:52:10 +00:00
Alexandre Julliard 0ec183cfe3 Use the proper format to print handles in handle_table_dump. 2005-09-27 09:36:54 +00:00
Alexandre Julliard 43c6396e94 Use int instead of long in interlocked_* functions for 64-bit
compatibility.
2005-09-26 13:51:58 +00:00
Eric Pouech e21aa6a184 - now passing access rights when creating a named pipe in NTDLL
- reimplemented Kernel32.CreatePipe purely on top of NTDLL APIs
- anonymous pipe handles should have the SYNCHRONIZE bit set
2005-09-26 11:02:45 +00:00
Alexandre Julliard 5a12dd17ae Preliminary version of the context support for x86-64. 2005-09-16 18:59:23 +00:00
Alexandre Julliard cdf92942b1 Use the proper size for the cmsg_fd structure on 64-bit plaforms. 2005-09-16 18:52:47 +00:00
Alexandre Julliard 867ae269d4 Remove an exiting thread from the process only after thread cleanup to
avoid accessing freed window classes.
2005-09-14 15:44:12 +00:00
Alexandre Julliard 127127fd3b Timeout 0 means infinite wait for SendMessageTimeout.
Remove the message from the receiver queue if it times out before
being received.
2005-09-13 14:46:46 +00:00
Ivan Leo Puoti f0db7ab06b Added FSCTL_PIPE_LISTEN support. 2005-09-06 14:09:42 +00:00
Eric Pouech b3badc7dd3 - rewrite kernel32:{Set|Get}PriorityClass on top of ntdll equivalent
- priority for process in wineserver is now the NTDLL form (no longer
  the kernel32 one)
2005-09-06 10:25:11 +00:00
Alexandre Julliard f62f6e8fe1 Don't cache file descriptors open on removable devices. 2005-08-24 18:33:50 +00:00
Alexandre Julliard 38502f70eb Added a separate set_handle_cached_fd request instead of abusing
set_handle_info for that.
2005-08-23 18:43:50 +00:00
Alexandre Julliard 1b2adad892 Don't try to detach from a thread that is exiting, to avoid triggering
a kernel race condition.
2005-08-22 10:13:28 +00:00
Alexandre Julliard 9d99a04880 Added a watchdog mechanism to break out of the wait4 call in case it
didn't return properly (can happen at thread exit).
2005-08-19 14:01:43 +00:00
Alexandre Julliard 3f31a10d01 Avoid a crash in find_hardware_message_window when there's no
foreground input.
2005-08-16 19:58:12 +00:00