Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
Epiphany
Epiphany
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 125
    • Issues 125
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 11
    • Merge Requests 11
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Incidents
    • Environments
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • CI / CD
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • GNOME
  • EpiphanyEpiphany
  • Issues
  • #1393

Closed
Open
Opened Nov 23, 2020 by Michael Catanzaro@mcatanzaroMaintainer

ephy_gsb_service_update_thread() and ephy_gsb_service_verify_url_thread() look unsafe

ephy_gsb_service_update_thread() reads and modifies all sorts of shared state without any mutexes. This is a threadsafety problem. Every use of self needs to be guarded by a mutex, as does all other uses of the same data members throughout the file. We should ensure that it only calls functions that are explicitly marked as safe to be called from the thread. This can be annoying as it requires updating more than just EphyGsbService. E.g. the code calls ephy_gsb_storage_is_operable(). So now EphyGsbStorage needs to be made threadsafe as well.

ephy_gsb_service_verify_url_thread() needs to be checked too.

Assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking
None
Due date
None
Reference: GNOME/epiphany#1393