Commit Graph

45 Commits

Author SHA1 Message Date
Robert Shearman 6036a773e2 - The apartment reference should be held while the stub manager
reference is held.
- Fix same apartment-unmarshal detection.
2005-01-14 16:48:34 +00:00
Robert Shearman ead057c4b7 - Don't use the pipe caching code because it doesn't work correctly at
the moment.
- Always write disconnect reply packet, even in failure cases.
2005-01-14 15:59:01 +00:00
Mike Hearn ba0475e738 Force context switch on chanbuf disconnect to avoid a race in the test
suite.
2005-01-14 15:11:24 +00:00
Robert Shearman 89f5c8241f The way apartments are used has changed, so fix up the hacks in the
RPC code that haven't yet been updated.
2005-01-12 19:27:22 +00:00
Robert Shearman c353f85082 - Document how thread-safety is ensured for each member of the
stub_manager and ifstub structs.
- Make stub_manager ref counted to ensure it doesn't get freed whilst
  it is still being used.
- ifstubs are now freed only when the controlling stub_manager is freed.
- Rename stub_manager_ref/unref to stub_manager_ext_addref/release
  respectively and make then take an unsigned long to prevent
  malicious callers from passing in a negative value and corrupting
  the ref count.
2005-01-11 10:45:34 +00:00
Robert Shearman 090003360f The current architecture cannot handle pipes changing address, so use
a static array. Fixes memory corruption that sometimes occurs when
using multiple pipes.
2005-01-07 15:33:26 +00:00
Robert Shearman 67bae9f213 ConnectNamedPipe returning ERROR_PIPE_CONNECTED is not an error. 2005-01-06 19:38:48 +00:00
Robert Shearman 9f426df0a8 - Fix race on apartment creation.
- Display errors in decimal to make searching for the meaning in
  winerror.h easier.
2005-01-05 17:30:04 +00:00
Mike Hearn a6a416cb4e - Make apartment access thread-safe by introducing refcounting and
wider usage of the apartment lock.
- Rework OLE TLS management to eliminate uninitialised apartments and
  parent chaining.
2005-01-05 17:14:33 +00:00
Mike McCormack a246306870 Allow COM to start services containing COM servers. 2005-01-05 13:22:10 +00:00
Robert Shearman 5d7d188df5 - Move named pipe macros into rpc.c.
- Remove unneeded function.
2004-12-27 19:27:57 +00:00
Robert Shearman 2b747d4e50 Implement COM local servers using table marshaling to avoid doing the
marshaling in a child thread where COM has not been initialized.
2004-12-27 19:24:55 +00:00
Mike Hearn 5475a2e617 - Implement the COM stub manager, refactor the current stub code.
- Begin implementing interface stubs.
2004-12-27 19:21:47 +00:00
Mike Hearn 737e67b17b Propagate apartments through the intermediate threads, make listener
thread apartment scoped.
2004-12-27 16:59:28 +00:00
Robert Shearman 2fa9a0a6fd Remove unneeded includes and the unused COMPOBJ_hInstance32 variable. 2004-12-14 15:28:58 +00:00
Robert Shearman 2c3de6db24 - Make the wine_marshal_id structure more like the DCOM OBJREF
structure, by replacing the process id field by apartment id (OXID),
  changing the users of the process id field to use the new field and
  renaming the objectid field to oid.
- Fix StdMarshalImpl_UnmarshalInterface to invalidate and release its
  stub when doing a same apartment marshal.
2004-12-08 17:49:30 +00:00
Mike Hearn 36aee71988 Rename the STUBMGR thread to more accurately reflect its purpose. 2004-12-07 17:01:40 +00:00
Francois Gouget 486d020c1b Don't define COBJMACROS in objbase.h.
Update the Wine sources accordingly.
2004-10-07 03:06:48 +00:00
Joris Huizer 34cffce6f9 Ref count increment/decrement cleanup. 2004-09-24 01:16:53 +00:00
Alexandre Julliard 241a4c34b1 Get rid of the non-standard ICOM_THIS macro. 2004-09-09 21:03:58 +00:00
Alexandre Julliard f714b39762 Get rid of the no longer used ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
macro.
2004-08-23 19:39:48 +00:00
Alexandre Julliard 48c4bb3c31 Get rid of the non-standard ICOM_VTABLE macro. 2004-08-12 23:00:51 +00:00
Robert Shearman 5c7c5fafb6 - Add static to non-exported marshal functions.
- Remove unused marshal functions.
- Rename several RPC functions.
2004-08-02 18:47:31 +00:00
Alexandre Julliard 6cd1a7d9a9 Authors: Robert Shearman <rob@codeweavers.com>, Mike Hearn <mh@codeweavers.com>
Fix infinite loops by checking the return value of _invoke_onereq and
bailing appropriately.
2004-07-30 18:43:07 +00:00
Mike Hearn 5169f3c5d2 Implement disconnect for proxies so that stubs are properly
destroyed.
2004-07-29 23:58:12 +00:00
Alexandre Julliard 26541a00c9 Authors: Mike Hearn <mh@codeweavers.com>, Robert Shearman <rob@codeweavers.com>
Add a comment on the SendReceive behaviour. Improve two others.
2004-07-29 02:43:36 +00:00
Robert Shearman f5ed953c10 Set RPC data representation. 2004-07-23 22:58:13 +00:00
Mike Hearn 1cc05ff148 Pass -Embedding switch to EXE servers, more tracing. 2004-07-23 19:10:13 +00:00
Robert Shearman 2e93adc5c7 - Remove unneeded STUBMGR_Start call.
- Cleanup compobj_private.h.
2004-07-22 23:44:54 +00:00
Mike Hearn 602cce0ebf Unref stub after invoking on it. 2004-07-22 19:43:27 +00:00
Mike McCormack e42d8aef24 Fix a few serious race conditions in the OLE object pipe server. 2004-07-15 22:07:44 +00:00
Ge van Geldorp 399901e054 Rename LARGE_INTEGER and ULARGE_INTEGER members "s" to "u" to conform
with PSDK.
2004-01-23 01:51:33 +00:00
Oleg Prokhorov de12a97041 Another portion of HeapReAlloc fixes. 2003-10-14 05:24:20 +00:00
Alexandre Julliard 20c169e0a4 Fixed a few more headers dependency issues. 2003-09-09 19:39:31 +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
Dan Kegel 743af54541 Roll loop back up to avoid code duplication. 2003-02-14 23:30:50 +00:00
Michael Stefaniuc 3dcd451bf6 Remove dead code after return or properly comment it out. 2003-02-12 01:23:17 +00:00
Dimitrie O. Paun 297f3d898d Define NONAMELESS{STRUCT,UNION} explicitly in the files that need them. 2003-01-07 20:36:20 +00:00
Alexandre Julliard 87fa2d586d Fixed a few problems caused by the new objidl.idl. 2002-12-19 22:16:35 +00:00
Alexandre Julliard 8710a79d54 Compile ole32 with -DSTRICT. 2002-11-22 04:43:02 +00:00
Bill Medland 978a934245 Fixed incorrect pointer-cast arithmetic.
Extended ole trace information.
Don't lose the existing pipes on alloc failure.
2002-06-04 00:53:21 +00:00
Vincent Béron 9a62491660 Removed trailing whitespace. 2002-05-31 23:06:46 +00:00
Bill Medland d36c8e9d0c Ensure that an out-of-process COM object is started only once.
Allow out-of-process COM objects if request is for
in-or-out-of-process.
2002-05-29 19:20:32 +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
Marcus Meissner 0749fc2034 Implemented Local Server COM.
Implemented the Typelib based Marshaler.
2002-02-05 18:11:17 +00:00