----boundary-LibPST-iamunique-494070682_-_-
Content-type: text/plain
[...]
> In my previous letter I was wrong about one thing. You actually can
> link BlackBox into a DLL and then use it from C/C++ code (see
> DevLinker documentation).
hmm, just some thought: There is the option to create a
"dynamic loading" DLL, which is labelled by OMiSys as
"rarely used, present for completeness" which might be
the right thing to use in this case.
> My guess is that you could call simple functions
> from C/C++ threads, but anything involving dynamic
> memory allocation and garbage collection still
> must be done in only one of those threads.
>
this is exactly what you would gain from a dynamic
DLL, i.e. one that includes a BlackBox loader:
it would have a separate GC instance for each thread.
I have no idea, if BlackBox code will be put in
a (shared) code segment or in a thread local
data segment. I know only for shure that "global"
data of a DLL-linked BlackBox module is not global
at all, but thread local. Each thread that attaches
to the DLL gets ist own copy of the "global" data.
So you will have problems with interprocess communication.
regards
Bernhard
--- BlackBox
--- send subject HELP or UNSUBSCRIBE to blackbox{([at]})nowhere.xy
----boundary-LibPST-iamunique-494070682_-_-
Content-type: application/rtf
Content-transfer-encoding: base64
Content-Disposition: attachment; filename="rtf-body.rtf"
e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcZnJvbXRleHQgXGRlZmYwe1xmb250dGJsDQp7XGYwXGZz
d2lzcyBBcmlhbDt9DQp7XGYxXGZtb2Rlcm4gQ291cmllciBOZXc7fQ0Ke1xmMlxmbmlsXGZjaGFy
c2V0MiBTeW1ib2w7fQ0Ke1xmM1xmbW9kZXJuXGZjaGFyc2V0MCBDb3VyaWVyIE5ldzt9fQ0Ke1xj
b2xvcnRibFxyZWQwXGdyZWVuMFxibHVlMDtccmVkMFxncmVlbjBcYmx1ZTI1NTt9DQpcdWMxXHBh
cmRccGxhaW5cZGVmdGFiMzYwIFxmMFxmczIwIFxwYXINClsuLi5dXHBhcg0KPiAgIEluIG15IHBy
ZXZpb3VzIGxldHRlciBJIHdhcyB3cm9uZyBhYm91dCBvbmUgdGhpbmcuIFlvdSBhY3R1YWxseSBj
YW5ccGFyDQo+ICAgbGluayBCbGFja0JveCBpbnRvIGEgRExMIGFuZCB0aGVuIHVzZSBpdCBmcm9t
IEMvQysrIGNvZGUgKHNlZVxwYXINCj4gICBEZXZMaW5rZXIgZG9jdW1lbnRhdGlvbikuXHBhcg0K
XHBhcg0KaG1tLCBqdXN0IHNvbWUgdGhvdWdodDogVGhlcmUgaXMgdGhlIG9wdGlvbiB0byBjcmVh
dGUgYSBccGFyDQoiZHluYW1pYyBsb2FkaW5nIiBETEwsIHdoaWNoIGlzIGxhYmVsbGVkIGJ5IE9N
aVN5cyBhcyBccGFyDQoicmFyZWx5IHVzZWQsIHByZXNlbnQgZm9yIGNvbXBsZXRlbmVzcyIgd2hp
Y2ggbWlnaHQgYmUgXHBhcg0KdGhlIHJpZ2h0IHRoaW5nIHRvIHVzZSBpbiB0aGlzIGNhc2UuXHBh
cg0KXHBhcg0KPiBNeSBndWVzcyBpcyB0aGF0IHlvdSBjb3VsZCBjYWxsIHNpbXBsZSBmdW5jdGlv
bnMgXHBhcg0KPiBmcm9tIEMvQysrIHRocmVhZHMsIGJ1dCBhbnl0aGluZyBpbnZvbHZpbmcgZHlu
YW1pYyBccGFyDQo+IG1lbW9yeSBhbGxvY2F0aW9uIGFuZCBnYXJiYWdlIGNvbGxlY3Rpb24gc3Rp
bGwgXHBhcg0KPiBtdXN0IGJlIGRvbmUgaW4gb25seSBvbmUgb2YgdGhvc2UgdGhyZWFkcy5ccGFy
DQo+IFxwYXINClxwYXINCnRoaXMgaXMgZXhhY3RseSB3aGF0IHlvdSB3b3VsZCBnYWluIGZyb20g
YSBkeW5hbWljXHBhcg0KRExMLCBpLmUuIG9uZSB0aGF0IGluY2x1ZGVzIGEgQmxhY2tCb3ggbG9h
ZGVyOiBccGFyDQppdCB3b3VsZCBoYXZlIGEgc2VwYXJhdGUgR0MgaW5zdGFuY2UgZm9yIGVhY2gg
dGhyZWFkLlxwYXINClxwYXINCkkgaGF2ZSBubyBpZGVhLCBpZiBCbGFja0JveCBjb2RlIHdpbGwg
YmUgcHV0IGluXHBhcg0KYSAoc2hhcmVkKSBjb2RlIHNlZ21lbnQgb3IgaW4gYSB0aHJlYWQgbG9j
YWwgXHBhcg0KZGF0YSBzZWdtZW50LiBJIGtub3cgb25seSBmb3Igc2h1cmUgdGhhdCAiZ2xvYmFs
IlxwYXINCmRhdGEgb2YgYSBETEwtbGlua2VkIEJsYWNrQm94IG1vZHVsZSBpcyBub3QgZ2xvYmFs
XHBhcg0KYXQgYWxsLCBidXQgdGhyZWFkIGxvY2FsLiBFYWNoIHRocmVhZCB0aGF0IGF0dGFjaGVz
IFxwYXINCnRvIHRoZSBETEwgZ2V0cyBpc3Qgb3duIGNvcHkgb2YgdGhlICJnbG9iYWwiIGRhdGEu
XHBhcg0KXHBhcg0KU28geW91IHdpbGwgaGF2ZSBwcm9ibGVtcyB3aXRoIGludGVycHJvY2VzcyBj
b21tdW5pY2F0aW9uLlxwYXINClxwYXINCnJlZ2FyZHNccGFyDQogICBCZXJuaGFyZFxwYXINClxw
YXINCi0tLSBCbGFja0JveFxwYXINCi0tLSBzZW5kIHN1YmplY3QgSEVMUCBvciBVTlNVQlNDUklC
RSB0byBibGFja2JveEBvYmVyb24uY2h9fQAAABj1UgAU4xNh
----boundary-LibPST-iamunique-494070682_-_---
Received on Fri Apr 07 2006 - 14:47:41 UTC