[Spread-users] spread as a shared library?
John Schultz
jschultz at d-fusion.net
Thu Jun 30 12:52:28 EDT 2005
Neil Conway wrote:
> I'm working on an application that will use Spread. However, I don't
> really need a separate Spread daemon process AFAICS: each node in the
> group will only have a single connection to Spread. I'd also rather not
> burden my users with the need to install and configure the Spread daemon.
>
> I'm wondering if it would be possible to refactor Spread to provide a
> shared library that implements the Spread protocol. An application
> linking against the Spread library would need to call into Spread's
> event loop regularly (or perhaps just dedicate a thread to this task and
> have it block inside the Spread event loop). The spread daemon could
> then be implemented using this library.
>
> Does this sound feasible? It would obviously require some fairly major
> surgery, I'm just wondering if there's some reason it's not possible.
>
> -Neil
>
Here's a simple approach that MIGHT work, although I give no guarantees
at all. Change Spread's main() fcn into a thread entry function. In
that thread entry function do whatever signal blocking is appropriate to
shield that thread from unwanted signals. Spawn a thread to execute
that function. Then connect to Spread just as if it was running in
another process.
The only problems I can see with this is that (a) you can only run 1
Spread thread within your process (not really a problem) and (b) you'll
need to do some fudging with the code because I think the spread client
library and spread code themselves clash somewhat. But if you can get
them to co-exist, then I think this simple approach could work.
--
John Schultz
Co-Founder, Lead Engineer
D-Fusion, Inc. (http://www.d-fusion.net)
Phn: 443-838-2200 Fax: 707-885-1055
More information about the Spread-users
mailing list