Skip to content

respondd: Issue with async data fetching #2467

@mkg20001

Description

@mkg20001

Currently babel uses some hack with threads in the constructor.
OLSR is currently using a segfaulty shared memory+fork approach.

None of this is sane and there needs to be a solution that solves this problem without too much impact.

Ideas:

  • Every provider gets it's own process
    • Solves various issues, for ex global state with uloop
    • Hasn't been done previously because of resource limitations that are gone due to openwrt no longer supporting those devices
  • Cache some providers
    • One idea is to run some providers on boot and others periodically
    • Either via cronjob and dump stuff in tmpfs so respondd just has to load stuff
    • Or providers expose if they are static (run once) or if they should be run periodically. This would be more effort on the respondd side but would make development of providers a lot simpler.
    • A solution in the middle would be adding that part to gluon.mk, so it automatically adds cron, etc. But again requires more work on the provider side.

Edit: Something that needs to be figured out is if a provider is using uloop themselves, how is this going to integrate with respondd? Or rather, which changes are needed so providers can actually hook the uloop properly.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions