<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ouroboros/src/ipcpd/ipcp.h, branch 0.9.2</title>
<subtitle>Ouroboros main repository</subtitle>
<id>http://www.ouroboros.rocks/cgit/ouroboros/atom?h=0.9.2</id>
<link rel='self' href='http://www.ouroboros.rocks/cgit/ouroboros/atom?h=0.9.2'/>
<link rel='alternate' type='text/html' href='http://www.ouroboros.rocks/cgit/ouroboros/'/>
<updated>2018-01-09T08:53:56+00:00</updated>
<entry>
<title>include, src: Update copyright to 2018</title>
<updated>2018-01-09T08:53:56+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri.staessens@ugent.be</email>
</author>
<published>2018-01-09T07:18:02+00:00</published>
<link rel='alternate' type='text/html' href='http://www.ouroboros.rocks/cgit/ouroboros/commit/?id=0160f2df8335aaa516d13334042e429a0bbfd0ad'/>
<id>urn:sha1:0160f2df8335aaa516d13334042e429a0bbfd0ad</id>
<content type='text'>
Happy New Year, Ouroboros.

Signed-off-by: Dimitri Staessens &lt;dimitri.staessens@ugent.be&gt;
Signed-off-by: Sander Vrijders &lt;sander.vrijders@ugent.be&gt;
</content>
</entry>
<entry>
<title>lib, tools: Rename application process and instance</title>
<updated>2017-12-02T13:56:20+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri.staessens@ugent.be</email>
</author>
<published>2017-12-02T13:01:03+00:00</published>
<link rel='alternate' type='text/html' href='http://www.ouroboros.rocks/cgit/ouroboros/commit/?id=9b8a3e11c558877c09416991ff1ec840fea6d0ab'/>
<id>urn:sha1:9b8a3e11c558877c09416991ff1ec840fea6d0ab</id>
<content type='text'>
This refactors ouroboros to use "program" instead of "application
process" and "process" instead of "application process instance" to
align with current naming in current Operating Systems courses instead
of the ISO nomenclature adopted by RINA. This change permeates through
the entire implementation. Also contains some minor other refactors.

Signed-off-by: Dimitri Staessens &lt;dimitri.staessens@ugent.be&gt;
Signed-off-by: Sander Vrijders &lt;sander.vrijders@ugent.be&gt;
</content>
</entry>
<entry>
<title>lib: Deprecate ouroboros_init and ourboros_fini</title>
<updated>2017-10-14T11:19:10+00:00</updated>
<author>
<name>dimitri staessens</name>
<email>dimitri.staessens@ugent.be</email>
</author>
<published>2017-10-12T00:15:39+00:00</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>ipcpd: Add threadpool manager to DHT</title>
<updated>2017-09-24T12:34:03+00:00</updated>
<author>
<name>dimitri staessens</name>
<email>dimitri.staessens@ugent.be</email>
</author>
<published>2017-09-24T12:34:03+00:00</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>tools: Add tool to connect IPCP components</title>
<updated>2017-08-28T18:49:34+00:00</updated>
<author>
<name>dimitri staessens</name>
<email>dimitri.staessens@ugent.be</email>
</author>
<published>2017-08-28T16:54:22+00:00</published>
<link rel='alternate' type='text/html' href='http://www.ouroboros.rocks/cgit/ouroboros/commit/?id=9de8dc4948cf7ce239232aae0889c39ffa39ede2'/>
<id>urn:sha1:9de8dc4948cf7ce239232aae0889c39ffa39ede2</id>
<content type='text'>
This enables user-written tools to instruct IPCPs to establish and
tear down connections (a.k.a. adjacencies) between its internal
components (Management and Data Transfer).

For more info, do "irm ipcp connect" or "irm ipcp disconnect" on the
command line.

This commit exposes a deletion bug in the RIB where FSO's fail to
unpack/parse. This will be fixed when the RIB is deprecated.
</content>
</entry>
<entry>
<title>build: Revise the build system</title>
<updated>2017-08-21T08:25:19+00:00</updated>
<author>
<name>dimitri staessens</name>
<email>dimitri.staessens@ugent.be</email>
</author>
<published>2017-08-18T13:56:55+00:00</published>
<link rel='alternate' type='text/html' href='http://www.ouroboros.rocks/cgit/ouroboros/commit/?id=8f58e5a3ec0e4a15fc8ae0911cc864f5dbf86c6e'/>
<id>urn:sha1:8f58e5a3ec0e4a15fc8ae0911cc864f5dbf86c6e</id>
<content type='text'>
This revises the build system to have configuration per system
component. System settings can now be set using cmake.

The standard compliance defines were removed from configuration header
and are set in the sources where needed. Also some small code
refactors, such as moving the data for shims out of the ipcp structure
to the respective shims were performed.
</content>
</entry>
<entry>
<title>irmd, ipcpd: Signal acceptor only</title>
<updated>2017-08-16T10:11:21+00:00</updated>
<author>
<name>dimitri staessens</name>
<email>dimitri.staessens@ugent.be</email>
</author>
<published>2017-08-16T10:11:21+00:00</published>
<link rel='alternate' type='text/html' href='http://www.ouroboros.rocks/cgit/ouroboros/commit/?id=6b33850f488ddd23fa29952a8c5d2a7c544617d3'/>
<id>urn:sha1:6b33850f488ddd23fa29952a8c5d2a7c544617d3</id>
<content type='text'>
This adds an extra condvar so the mainloops can signal the acceptor
thread without waking up all mainloops.
</content>
</entry>
<entry>
<title>irmd, ipcpd: Listen on a dedicated accept() thread</title>
<updated>2017-08-16T06:18:03+00:00</updated>
<author>
<name>dimitri staessens</name>
<email>dimitri.staessens@ugent.be</email>
</author>
<published>2017-08-15T17:30:03+00:00</published>
<link rel='alternate' type='text/html' href='http://www.ouroboros.rocks/cgit/ouroboros/commit/?id=c995538b1c6483996c979df62feee3d79acd0e45'/>
<id>urn:sha1:c995538b1c6483996c979df62feee3d79acd0e45</id>
<content type='text'>
The IRMd and IPCPs will now call accept on their command sockets from
a single thread that will dispatch work to the other threads.

This solves a problem on OS X and FreeBSD where accept() doesn't time
out when setting SO_RCVTIMEO on the socket. Calling kqueue or select()
on that socket to wait for events before calling accept() didn't solve
it since select() or kqueue() might wake up multiple threads, with the
non-working threads again blocked on the accept() on shutdown.
</content>
</entry>
<entry>
<title>build: Replace fsf snail mail with contact URL</title>
<updated>2017-08-13T10:17:58+00:00</updated>
<author>
<name>dimitri staessens</name>
<email>dimitri.staessens@ugent.be</email>
</author>
<published>2017-08-13T10:17:58+00:00</published>
<link rel='alternate' type='text/html' href='http://www.ouroboros.rocks/cgit/ouroboros/commit/?id=095c2414425952836e97d88a6dde6f4415725c68'/>
<id>urn:sha1:095c2414425952836e97d88a6dde6f4415725c68</id>
<content type='text'>
</content>
</entry>
<entry>
<title>lib: Add threadpool manager</title>
<updated>2017-07-26T08:39:51+00:00</updated>
<author>
<name>dimitri staessens</name>
<email>dimitri.staessens@ugent.be</email>
</author>
<published>2017-07-25T17:54:39+00:00</published>
<link rel='alternate' type='text/html' href='http://www.ouroboros.rocks/cgit/ouroboros/commit/?id=809abada865727ea986d69afcf2a9a3b00df560a'/>
<id>urn:sha1:809abada865727ea986d69afcf2a9a3b00df560a</id>
<content type='text'>
This adds a threadpool manager component in the library that is used
in the IRMd and IPCPs. The threadpool manager now doesn't detach
threads but does a join when they exit. This solves a data race in the
previous implementation where some threads were not completely finished
upon release of some resources.
</content>
</entry>
</feed>
