commit | c920bb27fd72b4dec235ce6831bb2258f8fd5da1 | [log] [tgz] |
---|---|---|
author | Alex Vakulenko <avakulenko@google.com> | Mon Feb 01 11:54:23 2016 -0800 |
committer | Alex Vakulenko <avakulenko@google.com> | Mon Feb 01 23:39:15 2016 +0000 |
tree | a5dcb4d2e6df068dedc60867ebf4875b11445bf3 | |
parent | ebfa60b581c3bd2d949e0af01abf761d83e802cf [diff] |
Fix memory leak when removing CommandInstance from CommandQueue The observers for CommandInstance were forcefully cleared in CommandInstance::DetachFromQueue which caused failure of invoking CommandInstance::Observer::OnCommandDestroyed() and, as a result, CloudCommandProxy::OnCommandDestroyed was not called which caused leaking CloudCommandProxy object instance. BUG: 25707196 Change-Id: I119a67efce4968ffaa528632e77045265b8e8f2b Reviewed-on: https://weave-review.googlesource.com/2428 Reviewed-by: Vitaly Buka <vitalybuka@google.com>
libWeave is the library with device side implementation of Weave protocol.
Sources are located in git repository at https://weave.googlesource.com/weave/libweave/
Make sure you have a bin/ directory in your home directory and that it is included in your path:
mkdir ~/bin PATH=~/bin:$PATH
Download the Repo tool and ensure that it is executable:
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo chmod a+x ~/bin/repo
repo init -u https://weave.googlesource.com/weave/manifest repo sync
Path | Description |
---|---|
include/ | Includes to be used by device code |
src/ | Implementation sources |
examples/ | Example of device code |
third_party/ | Dependencies |
Makefile, *.mk files | Build files |
sudo apt-get update sudo apt-get install \ autoconf \ automake \ binutils \ g++ \ hostapd \ libavahi-client-dev \ libcurl4-openssl-dev \ libevent-dev \ libexpat1-dev \ libnl-3-dev \ libnl-route-3-dev \ libssl-dev \ libtool
The make --jobs/-j
flag is encouraged, to speed up build time. For example
make -j
which happens to be the same as
make all -j
make out/Debug/libweave.so
make all-examples
See the examples README for details.
make test make export-test
or
make testall
Make sure to have correct user in local or global config e.g.:
git config --local user.name "User Name" git config --local user.email user.name@example.com
repo start <branch name> .
git commit -a -v
repo upload .
Go to the url from the output of “repo upload” and add reviewers.