Commit Graph

97 Commits

Author SHA1 Message Date
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 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 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
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 5188574984 Renamed handle_t to obj_handle_t to avoid conflict with rpcdce.h. 2002-05-30 20:12:58 +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 4705b8a60e Avoid crash when trying to attach to a terminating process. 2002-04-02 02:50:24 +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
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
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 566a52ad8c Changed isolated for loops to while loops (based on a patch by Andreas
Mohr).
2001-03-05 19:34:17 +00:00
Alexandre Julliard e939eae00b Made exception_event_request non-blocking, and added
get_exception_status to retrieve the exception result returned by the
debugger.
2001-01-26 20:45:41 +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 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 d549f6909e Use a separate FIFO pair for server requests that don't need to pass a
file descriptor.
Associate file descriptors with handles on the server side so that we
don't need to pass the fd every time the client wants to use it.
2000-12-22 02:04:15 +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 92643003cf Converted a lot of server requests to the new exception handling
mechanism.
2000-08-31 01:59:51 +00:00
Alexandre Julliard 9c2370bd75 Added exception handling wrapper to a number of server requests.
Changed a few requests to use the new vararg mechanism.
2000-08-30 00:00:48 +00:00
Alexandre Julliard a37dec0c7e Pass the main exe name in the CREATE_PROCESS debug event. 2000-06-08 00:57:24 +00:00
Eric Pouech 9d10afa499 Clear status for sending exception event. 2000-04-09 18:39:31 +00:00
Alexandre Julliard f6507ed235 Do not send a debug event for a thread until the previous event for
the same thread has been continued.
2000-04-06 22:05:16 +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 f2f1ff333e Fixed bug in generate_startup_debug_events(). 2000-03-15 19:45:15 +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 ff81d78708 Generate CREATE_PROCESS/THREAD debug events internally in the server. 2000-03-08 12:01:30 +00:00
Alexandre Julliard cb1fc735f0 Changed the server to return STATUS_* error codes. 2000-01-24 21:58:06 +00:00
Alexandre Julliard 3e2517caa7 Added Get/SetThreadContext support through the server. 2000-01-20 18:59:03 +00:00
Alexandre Julliard 79b1ec8290 Made debug events and contexts standard objects.
Use sleep_on to wait on debug events.
2000-01-04 02:24:43 +00:00
Alexandre Julliard 247b8aeeb9 Use poll() instead of select() for the server main loop.
Fixed races with SIGCHLD handling and ptrace.
Minor fixes to timeout handling.
1999-12-13 00:16:44 +00:00
Alexandre Julliard 17cf81018f Fixed handling of debug events on thread/process exit. 1999-11-24 01:22:14 +00:00
Alexandre Julliard 3b832225f1 Bug fixes. 1999-11-14 21:02:04 +00:00
Alexandre Julliard c61eb035e3 Do not free the handles once they have been sent to the client (thanks
to Jeremy White).
1999-11-07 23:59:08 +00:00
Alexandre Julliard 1d22c531da Free the handles of the event structure in the right process (thanks
to Jeremy White).
1999-11-04 02:31:10 +00:00
Patrik Stridvall 2c684081c1 Fixed some of the issues reported by Solaris Lint. 1999-07-31 17:36:48 +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 e712e077bc Added debug events support. 1999-05-23 19:53:30 +00:00