<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ouroboros/src/ipcpd/normal/dht.c, branch 0.7</title>
<subtitle>Ouroboros main repository</subtitle>
<id>http://www.ouroboros.rocks/cgit/ouroboros/atom?h=0.7</id>
<link rel='self' href='http://www.ouroboros.rocks/cgit/ouroboros/atom?h=0.7'/>
<link rel='alternate' type='text/html' href='http://www.ouroboros.rocks/cgit/ouroboros/'/>
<updated>2017-10-14T11:19:10Z</updated>
<entry>
<title>lib: Deprecate ouroboros_init and ourboros_fini</title>
<updated>2017-10-14T11:19:10Z</updated>
<author>
<name>dimitri staessens</name>
<email>dimitri.staessens@ugent.be</email>
</author>
<published>2017-10-12T00:15:39Z</published>
<link rel='alternate' type='text/html' href='http://www.ouroboros.rocks/cgit/ouroboros/commit/?id=bedd1d4eadde9ab64f924c69eba716b015599e67'/>
<id>urn:sha1:bedd1d4eadde9ab64f924c69eba716b015599e67</id>
<content type='text'>
This commit deprecates ouroboros_init and ouroboros_fini and adds them
as a constructor or destructor, causing these function to be run
automatically when a program that links to the library calls and exits
main(). For this to fully work, the library had to be split so that we
can avoid the irmd calling these functions (the IRMd has to create the
shm structures on which these calls depend).

The library is split in 3 parts: libouroboros-dev, libouroboros-irm
and libouroboros-common. The latter is linked to the other two so that
including libouroboros-dev or libouroboros-irm will also link
libouroboros-common.
</content>
</entry>
<entry>
<title>lib: Cancel tpm threads instead of marking exit</title>
<updated>2017-09-30T15:58:18Z</updated>
<author>
<name>dimitri staessens</name>
<email>dimitri.staessens@ugent.be</email>
</author>
<published>2017-09-30T15:58:18Z</published>
<link rel='alternate' type='text/html' href='http://www.ouroboros.rocks/cgit/ouroboros/commit/?id=9405ad97e20686f74c06bcbac9523a8b4f10272e'/>
<id>urn:sha1:9405ad97e20686f74c06bcbac9523a8b4f10272e</id>
<content type='text'>
This makes the threadpool use pthread_cancel instead of setting an
exit flag that threadpool managed threads check periodically. This
drastically reduces CPU consumption in the irmd when running a lot of
applications. It requires cancellation handlers in the ipcp and irmd
to be implemented to ensure safe cancellation during operation and
shutdown.
</content>
</entry>
<entry>
<title>ipcpd: normal: Set clock to realtime clock</title>
<updated>2017-09-26T09:02:03Z</updated>
<author>
<name>Sander Vrijders</name>
<email>sander.vrijders@ugent.be</email>
</author>
<published>2017-09-26T09:02:03Z</published>
<link rel='alternate' type='text/html' href='http://www.ouroboros.rocks/cgit/ouroboros/commit/?id=90900d36b7a380fee19b2171f4e49eed1eb35e8d'/>
<id>urn:sha1:90900d36b7a380fee19b2171f4e49eed1eb35e8d</id>
<content type='text'>
A pthread_cond_wait was using the pthread_cond_clock and thereby
timing out constantly, consuming 100% CPU. This changes it to use the
realtime clock.
</content>
</entry>
<entry>
<title>ipcpd: Fix deadlock in DHT</title>
<updated>2017-09-24T20:00:20Z</updated>
<author>
<name>dimitri staessens</name>
<email>dimitri.staessens@ugent.be</email>
</author>
<published>2017-09-24T19:43:05Z</published>
<link rel='alternate' type='text/html' href='http://www.ouroboros.rocks/cgit/ouroboros/commit/?id=a8ec5017e0a4452f520c90f68dc049d28a922690'/>
<id>urn:sha1:a8ec5017e0a4452f520c90f68dc049d28a922690</id>
<content type='text'>
The lookup_update was waiting for the LU_INIT state to resolve under
dht-&gt;lock which prevented that update.

This PR fixes this bug, but leaves a (very rare) bug when the
lookup_destroy is called while the lookup_update is waiting for the
LU_INIT state to resolve. The solution also is a (harmless) lock
inversion, but this is also not the best.

Fixes #51
Fixes #52
</content>
</entry>
<entry>
<title>ipcpd: Add threadpool manager to DHT</title>
<updated>2017-09-24T12:34:03Z</updated>
<author>
<name>dimitri staessens</name>
<email>dimitri.staessens@ugent.be</email>
</author>
<published>2017-09-24T12:34:03Z</published>
<link rel='alternate' type='text/html' href='http://www.ouroboros.rocks/cgit/ouroboros/commit/?id=ff5063ad0e7902ce59864a466bd9d8d606d788e4'/>
<id>urn:sha1:ff5063ad0e7902ce59864a466bd9d8d606d788e4</id>
<content type='text'>
This adds a threadpool manager to the DHT. This was needed because the
detached thread could cause a data race on shutdown.

The threadpool manager is revised to allow multiple instances in a
single program.

The irmd and ipcp now store commands in a buffer (list) instead of a
single buffer before passing it to handler threads.
</content>
</entry>
<entry>
<title>Merged in dstaesse/ouroboros/be-bugfixes (pull request #614)</title>
<updated>2017-09-23T13:17:53Z</updated>
<author>
<name>dimitri staessens</name>
<email>dimitri.staessens@ugent.be</email>
</author>
<published>2017-09-23T13:17:53Z</published>
<link rel='alternate' type='text/html' href='http://www.ouroboros.rocks/cgit/ouroboros/commit/?id=7cef269be64f64b920763c6f2455931422c8bfe9'/>
<id>urn:sha1:7cef269be64f64b920763c6f2455931422c8bfe9</id>
<content type='text'>
Some bugfixes
</content>
</entry>
<entry>
<title>ipcpd: Don't publish DHT entries under lock</title>
<updated>2017-09-23T13:14:06Z</updated>
<author>
<name>dimitri staessens</name>
<email>dimitri.staessens@ugent.be</email>
</author>
<published>2017-09-23T12:59:04Z</published>
<link rel='alternate' type='text/html' href='http://www.ouroboros.rocks/cgit/ouroboros/commit/?id=7c8857ebae5e7c4ac2420e66299aad1774ce0e87'/>
<id>urn:sha1:7c8857ebae5e7c4ac2420e66299aad1774ce0e87</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Merged in dstaesse/ouroboros/be-bugfixes (pull request #613)</title>
<updated>2017-09-23T10:10:53Z</updated>
<author>
<name>dimitri staessens</name>
<email>dimitri.staessens@ugent.be</email>
</author>
<published>2017-09-23T10:10:53Z</published>
<link rel='alternate' type='text/html' href='http://www.ouroboros.rocks/cgit/ouroboros/commit/?id=3fac7e4d0a97f84c8d8a2ccac246abac399ff9fa'/>
<id>urn:sha1:3fac7e4d0a97f84c8d8a2ccac246abac399ff9fa</id>
<content type='text'>
Some bugfixes
</content>
</entry>
<entry>
<title>ipcpd: Lock dht before reading parameters</title>
<updated>2017-09-23T08:33:54Z</updated>
<author>
<name>dimitri staessens</name>
<email>dimitri.staessens@ugent.be</email>
</author>
<published>2017-09-23T08:33:54Z</published>
<link rel='alternate' type='text/html' href='http://www.ouroboros.rocks/cgit/ouroboros/commit/?id=17ab2b6d6bc95337d5fd54e058c0822260dbacf1'/>
<id>urn:sha1:17ab2b6d6bc95337d5fd54e058c0822260dbacf1</id>
<content type='text'>
</content>
</entry>
<entry>
<title>ipcpd: Fix DHT recursive lookup</title>
<updated>2017-09-22T05:24:09Z</updated>
<author>
<name>dimitri staessens</name>
<email>dimitri.staessens@ugent.be</email>
</author>
<published>2017-09-22T05:11:24Z</published>
<link rel='alternate' type='text/html' href='http://www.ouroboros.rocks/cgit/ouroboros/commit/?id=9e8877cc94e0d3a928b9009fb2b0ffce2c783d7a'/>
<id>urn:sha1:9e8877cc94e0d3a928b9009fb2b0ffce2c783d7a</id>
<content type='text'>
</content>
</entry>
</feed>
