Alexandre Julliard
e4faa12900
server: Make sure that last error doesn't get set during thread cleanup.
2009-12-01 15:10:23 +01:00
Alexandre Julliard
538b24747c
server: Free client-side user handles at process exit.
2009-10-15 17:56:04 +02:00
Juan Lang
24036fe13a
server: Setting a process's affinity sets all of its threads' affinities too.
2009-09-30 14:34:32 +02:00
Alexandre Julliard
da8acbc47d
server: Define an architecture-independent structure for process startup info.
2009-08-21 20:00:12 +02:00
Alexandre Julliard
6056e8a52b
server: Return the process CPU in the get_process_info request.
2009-07-07 11:37:47 +02:00
Alexandre Julliard
fa8643805b
server: Make TEB and PEB client_ptr_t instead of void pointers.
2008-12-31 15:09:59 +01:00
Alexandre Julliard
c6c335d70e
server: Make thread entry points client_ptr_t instead of void pointers.
2008-12-31 15:09:59 +01:00
Alexandre Julliard
2cf868c0be
server: Move ldt_copy to the init_process_done request and make it a client_ptr_t.
2008-12-31 15:09:59 +01:00
Alexandre Julliard
1d2d0d5622
server: Send the version with the initial fd so that it can be checked before sending the first request.
2008-12-31 15:09:59 +01:00
Alexandre Julliard
8e9c156e14
server: Make the address argument for read/write_process_memory a client_ptr_t.
2008-12-30 14:11:58 +01:00
Alexandre Julliard
cb2788efaf
server: Add a module_handle_t type to represent client-side module handles.
2008-12-29 16:41:44 +01:00
Alexandre Julliard
db6e45488d
server: Get rid of the support for module snapshots, it is no longer needed.
2008-12-09 11:49:37 +01:00
Alexandre Julliard
0d3d456bd0
server: Make object handles ints instead of pointers.
2008-12-08 16:04:20 +01:00
Alexandre Julliard
24ec4a6ed7
server: Move the process pipe hangup handling into kill_process.
...
This ensures that it's also done correctly when a read from the pipe
returns EOF.
2008-06-20 20:42:51 +02:00
Alexandre Julliard
3bf12b9aca
server: Don't force the process affinity to 1, leave it up to the client.
2008-01-17 13:40:03 +01:00
Marcus Meissner
3bf54c2950
server: Enumerate process in reverse.
2008-01-14 16:24:55 +01:00
Alexandre Julliard
2f1e73cb35
server: Wait for the expiration of all the process SIGKILL timers before exiting the server.
2008-01-07 17:19:05 +01:00
Alexandre Julliard
af268c6211
server: Redesign the server shutdown processing.
...
System processes are now killed only after the server persistence
delay has expired. New processes are not allowed to start during
shutdown.
2008-01-03 11:40:03 +01:00
Alexandre Julliard
11750af329
server: Don't give out full access to the system process event.
2007-12-20 16:43:31 +01:00
Alexandre Julliard
ffbeae78f7
server: Don't count system processes as users of a desktop.
2007-12-20 16:43:14 +01: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
bf2a35b78d
server: Change the get_dll_info server request to allow retrieving the image file name of a process.
...
Implement NtQueryInformationProcess(ProcessImageFileName).
2007-11-20 14:29:09 +01:00
Rob Shearman
dd9e392796
server: Use the security descriptor passed in when creating events.
2007-10-25 12:47:22 +02: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
156b205eb5
server: Add support for system processes, that can be signaled to exit when all non-system processes are done.
2007-06-06 20:33:13 +02:00
Rob Shearman
ec86243521
server: When starting a new process, use the token from the calling process, if one exists.
2007-05-30 11:48:25 +02:00
Alexandre Julliard
627ca4079e
server: Stop exporting the console_input structure. Get rid of console.h.
2007-05-11 12:46:32 +02:00
Alexandre Julliard
aaf477f292
server: Change the timeout handling to use NT-style 64-bit timeouts everywhere.
2007-04-17 20:08:59 +02:00
Alexandre Julliard
635714397f
server: Add infrastructure for ioctl server request.
2007-04-16 14:45:03 +02:00
Alexandre Julliard
3f0575943e
server: Don't bother with default entry points for objects that don't even return an fd.
2007-04-12 20:21:53 +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
7e71c1ddee
server: Add an open_file() function to the object operations.
2007-03-22 11:44:29 +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
cd1c7fc056
server: Add hooks to support process tracing mechanisms other than ptrace.
2006-12-29 16:56:11 +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
Michael Stefaniuc
5cecceccb2
server: Remove redundant NULL check before free() (found by Smatch).
2006-10-10 12:56:16 +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
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
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
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
0f273c17ff
server: Added data_size_t type to represent sizes in the server protocol.
...
Make it an unsigned int to save some space on Win64, if we need to
transfer more than 4Gb over the server pipe something is seriously
wrong.
2006-07-26 11:11:03 +02:00
Thomas Kho
4ff4ba394e
server: Add new threads to end of thread_list.
2006-07-25 11:41:15 +02:00
Stefan Siebert
026dd2d88a
ntdll: Implementation of process CreationTime and ExitTime.
2006-07-21 13:27:16 +02:00
Alexandre Julliard
c316f0e47f
server: Simplify process creation.
...
Pass the socket for the new process from the parent through the
environment.
Perform initialisations during the new_process request.
2006-07-19 14:00:10 +02:00
Alexandre Julliard
5558652ea3
server: Don't report a fatal protocol error for things that we can recover from.
2006-06-08 10:26:02 +02:00
Jonathan Ernst
360a3f9142
Update the address of the Free Software Foundation.
2006-05-23 14:11:13 +02:00
Alexandre Julliard
17de829096
server: Use the standard suspend mechanism to simulate a breakpoint
...
in an active process, instead of sending a SIGTRAP.
2006-04-19 19:45:39 +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
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
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
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
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
Alexandre Julliard
e6374cbea7
server: Store the process exe module in the standard dll list.
2006-02-16 12:13:01 +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
2a36dd239c
server: Remove no longer used create_flags from get_startup_info request.
2006-02-05 12:33:24 +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
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
f2d7dd645e
server: Use attributes instead of inherit flag in process and thread requests.
2005-12-09 12:13:11 +01:00
Vitaliy Margolen
f676bc8d85
Move event and mutex objects into directory name space.
2005-12-02 15:55:48 +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
Alexandre Julliard
ead9b062e3
Added a struct unicode_str to encapsulate object names.
2005-11-18 16:31:18 +00:00
Vitaliy Margolen
3585f2fa77
Pass object attributes to create_named_object & find_object.
2005-10-29 12:38:23 +00:00
Alexandre Julliard
2790923722
Removed incorrect process queue check in wait_input_idle.
2005-10-12 21:10:52 +00:00
Eric Pouech
b09582a890
Implemented kernel32 process affinity handling on top on ntdll.
2005-09-27 10:52:10 +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
9ad5628639
Moved the server start time to the init_thread request and got rid of
...
the init_process request (based on a patch by Felix Nawothnig).
2005-07-14 10:32:46 +00:00
Alexandre Julliard
11ad6a0ac4
Return the startup info size in the init_thread request, and allocate
...
the process parameters structure in ntdll instead of kernel.
2005-07-13 19:43:35 +00:00
Alexandre Julliard
0424f38169
Already initialize the process in the first init_thread request
...
instead of waiting for the init_process request.
2005-07-13 12:12:43 +00:00
Alexandre Julliard
01caa5e645
Moved the fields that depends on startup info from the init_process
...
request to get_startup_info.
2005-07-12 20:27:09 +00:00
Alexandre Julliard
36b85d02f6
Clear the process handle table before releasing it to avoid potential
...
problems with destructors trying to access handles.
2005-06-29 19:29:15 +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
5f22e7caf6
Remove the process locks in process_killed, not process_destroy.
2005-06-14 19:23:56 +00:00
Mike McCormack
cdcb203691
Call remove_process_locks when a process ends, fix declarations.
2005-06-14 11:40:40 +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
Alexandre Julliard
78a3e63377
The desktop of a new thread should be set from the process initial
...
desktop, not from the parent thread.
Fixed a couple of bugs in the desktop name handling.
2005-06-09 12:07:12 +00:00
Alexandre Julliard
1bf96e09a9
Beginnings of support for window stations and desktops.
2005-06-08 18:44:50 +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
Eric Pouech
e6267369b2
- changed ATOM support in wineserver to match NTDLL needs
...
- adapted accordingly kernel32 atom support
2005-05-10 15:15:50 +00:00
Mike McCormack
f92fff66a2
Implemented NtSignalAndWaitForSingleObject.
2005-04-24 17:35:52 +00:00
Robert Shearman
d2ea92d14e
- Clean up well-known privileges.
...
- Implement checking tokens for privileges in the server.
- Implement NtPrivilegeCheck.
2005-04-22 21:17:15 +00:00
Steven Edwards
5727918424
Added a check for poll.h.
2005-03-04 12:38:36 +00:00
Alexandre Julliard
a9e0fb1ba6
Convert the process dll list to a standard list.
2005-03-02 10:20:09 +00:00
Alexandre Julliard
0502638ee1
Convert the per-process thread list to a standard list.
2005-03-01 10:56:18 +00:00
Alexandre Julliard
48c0d51dc3
Convert the global process list to a standard list.
2005-02-25 19:31:26 +00:00
Robert Shearman
b0f02b28b9
- Implement AdjustTokenPrivileges, DuplicateTokenEx and
...
GetTokenInformation (for the TokenPrivileges case).
- Return STATUS_NO_TOKEN for OpenThreadToken when there is no token
set for the thread.
2005-02-11 11:52:06 +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
Rein Klazes
5dc91e6c08
A starting process must obey the STARTF_USESTDHANDLES flag and use the
...
standard io handles from the StartupInfo structure, even if it is
starting a new console.
2004-12-15 10:47:23 +00:00
Eric Pouech
b0fd2ade62
- Added ProcessBasicInformation class to ntdll.NtQueryInformationProcess.
...
- Make use of it in kernel32.
2004-06-14 17:02:00 +00:00
Alexandre Julliard
670711ef25
Handle file mappings on removable media entirely inside ntdll.
2004-04-06 23:13:47 +00:00
Alexandre Julliard
bfce151ae5
Added window classes in the server, and support for inter-process
...
GetClassWord/Long (based on a patch by Mike McCormack).
Various fixes to the class instance handling.
2003-12-10 04:08:06 +00:00
Alexandre Julliard
e55d5937ac
Set or clear the BeingDebugged flag in the PEB when a debugger is
...
attached to or detached from a process.
Don't send exception events to the server unless a debugger is
present.
2003-10-14 01:30:42 +00:00
Alexandre Julliard
af192f83b6
Store a "removable" flag instead of the full drive type in the server
...
file object; this way we don't need to use GetDriveTypeW in the loader
code.
Make sure we always have a valid builtin_load_info pointer.
2003-10-08 00:25:32 +00:00
Alexandre Julliard
841f898663
Converted process creation to Unicode.
2003-10-04 04:09:41 +00:00
Alexandre Julliard
c30cefb2d5
Store module names in Unicode in the server.
2003-09-30 01:04:19 +00:00
Eric Pouech
9fd54b2838
- Implemented a few information classes in NtQuerySystemInformation.
...
- Added handle information to (wineserver) process snapshot.
2003-09-16 01:07:21 +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
9e9e3a9ce5
We need to ignore STATUS_OBJECT_TYPE_MISMATCH errors too when setting
...
the process console.
2003-08-19 03:46:24 +00:00
Eric Pouech
449d10fd79
Fixed regression in process creation (std handle inheritance).
2003-08-19 01:05:17 +00:00
Mike McCormack
36cd6f5dbb
Added a security token object in wineserver.
2003-07-24 00:07:00 +00:00
Eric Pouech
412d37f6e6
- adapted kernel32 so that it no longer (directly) manages console
...
handles as wineserver handles
- console input handle object is no longer waitable (input record
synchronisation is now implemented as a simple semaphore), and removed
FD_TYPE_CONSOLE from fd types in wineserver
- console handles now always have their two lower bit set so one can
distinguish a console handle from a kernel object handle
- implemented some undocumented kernel32 console related APIs
(CloseConsoleHandle, GetConsoleInputWaitHandle, OpenConsoleW,
VerifyConsoleIoHandle, DuplicateConsoleHandle)
- allowed a few kernel32 APIs to take console pseudo-handles
(FlushFileBuffer, GetFileType, WaitFor*Object*)
- simplified the console inheritance at process creation
- in console tests, no longer create a console if one already exists
2003-06-21 02:07:10 +00:00
Alexandre Julliard
ce61349334
Implemented file locking functions (partly based on my old Corel
...
patch). Added a few regression tests.
2003-03-18 05:04:33 +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
baf0a064db
Attaching the debugger to a running process should work again
...
(reported by Eric Pouech). Misc cleanups.
2003-03-11 01:48:53 +00:00
Alexandre Julliard
d04ccb8ebe
Use SIGUSR1 instead of SIGSTOP to suspend threads.
2003-03-04 22:18:43 +00:00
Peter Hunnisett
a3c5ad4e77
Suspended threads should not acquire synchronization objects.
2003-02-28 21:50:47 +00:00
Alexandre Julliard
02a53c176e
Added send_thread_signal() function and properly handle errors caused
...
by the thread having already died when we send it a signal.
Use -1 instead of 0 as invalid Unix pid value.
2003-02-25 04:17:22 +00:00
Alexandre Julliard
77c8b1dc2b
Pass the pid of the new process in the new_process request, don't
...
depend on the parent pid to find the startup info.
2003-02-24 20:51:50 +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
Alexandre Julliard
91befe1d64
Made process and thread ids small integers instead of pointers.
2003-02-01 01:38:40 +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
Marcus Meissner
f63e5b646a
Remove errno.h from files that do not need it.
2003-01-23 22:51:04 +00:00
Eric Pouech
2359b57574
- no longer depend on toolhelp definitions for generating snapshots
...
- added get_dll_info request
2003-01-09 00:01:28 +00:00
Alexandre Julliard
b3332d74b0
Converted the server to -DSTRICT.
2002-10-19 01:00:59 +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
40043ed26f
Added -k option to kill an existing wineserver.
2002-08-16 20:02:15 +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
Eric Pouech
93bfa0d6b1
Implementation for console control events (includes process groups
...
support).
2002-06-02 21:22:22 +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
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
Alexandre Julliard
ad16fc9e3b
Avoid crash when trying to attach to a terminating process.
2002-04-06 00:03:33 +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
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
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
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
Eric Pouech
fbccb38e18
New XP debugging APIs: implemented DebugActiveProcessStop,
...
DebugSetProcessKillOnExit, DebugBreakProcess.
2002-02-27 01:28:30 +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
Eric Pouech
0b83d4cbc6
New console code based on Win32 windows.
2001-11-23 23:04:58 +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
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
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
7614180e2d
Small fixes to the debugger support.
2001-07-11 17:30:59 +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
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
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
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
1ab243bac1
Merged the get_read_fd and get_write_fd requests.
2000-12-19 02:12:45 +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
Alexandre Julliard
57f05e1913
Converted a few more server requests to the new mechanism.
2000-10-15 00:40:25 +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
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
a37dec0c7e
Pass the main exe name in the CREATE_PROCESS debug event.
2000-06-08 00:57:24 +00:00
Turchanov Sergei
43a27e3696
Implemented local atoms in the server.
2000-05-30 20:32:06 +00:00
Alexandre Julliard
c5e433a3a6
Moved idle event handling to the server.
2000-05-30 19:48:18 +00:00
Alexandre Julliard
d27624be16
Store process file name in startup info.
...
Fixed exe_file handling.
2000-05-03 18:42:40 +00:00
Alexandre Julliard
5b4f3e8d6d
Rewrote Unix process launching to allow passing startup information to
...
Winelib apps. Improved handling of execve() failures.
2000-05-01 16:24:22 +00:00
Alexandre Julliard
07d8446918
Implemented thread and (partial) module snapshots, based on the work
...
of Andreas Mohr <amohr@student.ei.uni-stuttgart.de>.
2000-04-16 19:45:05 +00:00
Alexandre Julliard
6a72dc52bd
Load done event now created by the server.
2000-04-14 13:42:00 +00:00
Alexandre Julliard
11342151c9
Temporary hack to share handles between processes sharing the same
...
address space.
2000-04-08 21:02:47 +00:00
Alexandre Julliard
ef88637f5b
Made request tracing more robust against bogus lengths.
2000-04-04 19:33:27 +00:00
Alexandre Julliard
b73421dd91
Set thread start address to 0 on events generated by
...
DebugActiveProcess.
Return a correct address in the simulated exception event.
2000-03-30 19:30:24 +00:00
Alexandre Julliard
9a0e28f153
Fixed a couple of file descriptor leaks.
...
Always call USER signal proc in the right context.
Cleaned up THREAD_Create.
2000-03-25 19:14:37 +00:00
Alexandre Julliard
12f29b5076
Have threads and processes exit more cleanly whenever possible.
2000-03-17 15:16:57 +00:00
Alexandre Julliard
98aacc7751
Avoid SIGSTOP/SIGCONT race when ptrace is disabled.
2000-03-15 19:46:14 +00:00
Alexandre Julliard
ea0d028a0b
Added specific routines for OUTPUT_DEBUG_STRING and EXCEPTION debug events.
...
Generate a breakpoint event on process attach.
Misc cleanups in request handling.
2000-03-10 22:16:10 +00:00
Alexandre Julliard
05f0b71bb3
Store the list of loaded dlls in the server, and generate debug events
...
internally.
2000-03-09 18:18:41 +00:00
Alexandre Julliard
00641d5b1c
Removed PDB32_DEBUGGED flag and send all debug events unconditionally.
...
Implemented IsDebuggerPresent().
2000-03-08 16:41:37 +00:00
Alexandre Julliard
ff81d78708
Generate CREATE_PROCESS/THREAD debug events internally in the server.
2000-03-08 12:01:30 +00:00
Alexandre Julliard
67a24c8cfb
Store the handle of the process exe file in the server.
...
Removed PROCESS_Initial().
2000-02-18 21:54:32 +00:00
Dave Pickles
717bf7e9ea
Added definition for STILL_ACTIVE.
2000-02-13 16:04:14 +00:00
Patrik Stridvall
fb32c7bb38
Fixed minor issues found by winapi_check.
2000-01-29 21:02:19 +00:00
Alexandre Julliard
0a7c1f6c5b
Implemented GetThreadSelectorEntry through the server.
2000-01-27 02:54:17 +00:00
Alexandre Julliard
2fe57779fb
Made the server listen for new clients on a Unix socket in
...
$HOME/.wine. Newly started wine processes now attach to an existing
server if one is running.
2000-01-25 01:40:27 +00:00
Alexandre Julliard
cb1fc735f0
Changed the server to return STATUS_* error codes.
2000-01-24 21:58:06 +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
d083a7bd0c
Fixed DEBUG_ONLY_THIS_PROCESS again (thanks to Ulrich Weigand).
1999-11-29 02:10:56 +00:00
Alexandre Julliard
17cf81018f
Fixed handling of debug events on thread/process exit.
1999-11-24 01:22:14 +00:00
Alexandre Julliard
42666eeab6
Portability fixes.
1999-11-21 01:10:16 +00:00
Alexandre Julliard
578c10090b
Moved ptrace support to ptrace.c. Tried to improve portability.
1999-11-14 21:23:21 +00:00
Alexandre Julliard
eef7025ef8
Added support for WriteProcessMemory through the server.
1999-11-13 19:54:54 +00:00
Alexandre Julliard
8b8828f578
Added support for ReadProcessMemory through the server.
1999-11-12 21:39:14 +00:00
Alexandre Julliard
ec7bb2391d
Added support for CREATE_SUSPENDED flag in CreateProcess.
1999-11-12 03:35:25 +00:00
Alexandre Julliard
0a70783c11
Preliminary ptrace support.
1999-11-08 05:31:47 +00:00
Alexandre Julliard
ebe29ef376
Further server optimizations:
...
- merged request and reply structures
- build requests directly into the buffer to avoid a copy
1999-06-26 08:43:26 +00:00
Alexandre Julliard
5bc78089db
Made server communication faster by using a shared memory block.
...
A few other optimizations in request processing in the server.
Moved automatically generated request definitions to server.h and
removed include/server/request.h.
1999-06-22 17:26:53 +00:00
Alexandre Julliard
039aa42373
Return console handles in alloc_console request.
...
Fixed read_console_input parameters to conform to the reply structure
declaration.
1999-06-11 18:31:22 +00:00
Alexandre Julliard
791c84c928
Fixed initial process refcount.
1999-06-07 16:16:35 +00:00
Alexandre Julliard
eb2e77fd6f
Made handle table a separate object.
...
Global handle table is no longer bound to a process.
Removed special handling of the initial process.
1999-06-04 19:49:54 +00:00
Alexandre Julliard
d2b7a0ba65
Added support for dumping variable-size data of server replies.
...
Added cmd_line and cmd_show in new_process request.
1999-05-24 12:33:10 +00:00