Skip to content
This repository has been archived by the owner on Mar 12, 2020. It is now read-only.

v0.6.9

Compare
Choose a tag to compare
@textileio-machine textileio-machine released this 04 Aug 19:01
fee0102

Changelog

This release adds improved concurrency handling in an effort to ensure that background-ed work in a mobile environment is able to completed before a stop request is honored.

Internal Changes

  • Adds a secondary "flush lock" to core, which is blocked by the main node lock within Stop and is externally callable by a native SDK's RequestHandler (this handler must acquire a lock before processing it's request queue)
  • Adds a third "stop lock" to core, which is blocked by the "flush lock" within Stop (this ensures that work spawned by current tasks can "skip the line" so to speak, and take a lock for themselves before Stop)
  • Moves the mobile lock to use the main core lock, except at Stop, ensuring the stop event makes it out
  • Fixes an issue where deprecated thread payloads where still being unmarshalled into nil bytes
  • Adds a color option to the logs, which is used by mobile (this should help log reading in the photos app where the ANSI codes are not interpreted)
  • Pulls node bootstrapping into core, which allows textile to properly start an IPFS node and not block while it comes online (previously we'd start two nodes and replace the offline on with the online one when it was ready)

References