<feed xmlns='http://www.w3.org/2005/Atom'>
<title>paraslash/string.h, branch v0.3</title>
<subtitle>paraslash - network audio streaming tools</subtitle>
<id>https://git.tue.mpg.de/cgit/paraslash/atom?h=v0.3</id>
<link rel='self' href='https://git.tue.mpg.de/cgit/paraslash/atom?h=v0.3'/>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/'/>
<updated>2009-03-18T22:05:22Z</updated>
<entry>
<title>Fix various dead stores found by the clang static analyzer.</title>
<updated>2009-03-18T22:05:22Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@systemlinux.org</email>
</author>
<published>2009-03-18T22:05:22Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=31233289bedbb596b98eadd411bc6aac54d4ed69'/>
<id>urn:sha1:31233289bedbb596b98eadd411bc6aac54d4ed69</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Use symbolic names for loglevels and clean up the ggo mess.</title>
<updated>2009-01-18T01:25:42Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@systemlinux.org</email>
</author>
<published>2009-01-18T01:25:42Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=3cfb1d880ebf22546486316cb74cce21f007eb07'/>
<id>urn:sha1:3cfb1d880ebf22546486316cb74cce21f007eb07</id>
<content type='text'>
We now use m4 to generate the ggo files, which allows to get rid of
a lot of duplicated command line options and improves the readability
of the man pages.
</content>
</entry>
<entry>
<title>Change year of copyright from 2008 to 2009.</title>
<updated>2009-01-10T00:53:18Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@systemlinux.org</email>
</author>
<published>2009-01-10T00:53:18Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=6bdac07456cb5872f824028912d1049883a9c21f'/>
<id>urn:sha1:6bdac07456cb5872f824028912d1049883a9c21f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Move valid_fd_012() from string.c to fd.c.</title>
<updated>2008-08-04T15:11:41Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@systemlinux.org</email>
</author>
<published>2008-08-04T15:11:41Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=2ca70d00ec9b4486bca372873041c9e0233d36c4'/>
<id>urn:sha1:2ca70d00ec9b4486bca372873041c9e0233d36c4</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Update doxygen documentation.</title>
<updated>2008-03-25T00:19:21Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@systemlinux.org</email>
</author>
<published>2008-03-25T00:19:21Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=7ba6e107eb38c5ceb6f66aac21ad6a5a3afa49ad'/>
<id>urn:sha1:7ba6e107eb38c5ceb6f66aac21ad6a5a3afa49ad</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Complete the afs callback conversion.</title>
<updated>2008-03-24T23:18:01Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@systemlinux.org</email>
</author>
<published>2008-03-24T23:18:01Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=49bd626084bf5f48e4d80075258b6da4703752cf'/>
<id>urn:sha1:49bd626084bf5f48e4d80075258b6da4703752cf</id>
<content type='text'>
This makes it possible for the callbacks to pass a partial
result buffer through the command handler &lt;-&gt; callback socket.
This removes a serious limitation of previous paraslash-0.3.x
versions: As callbacks could not send data directly to the
command handler they had to store the full command output in
a buffer. This buffer was sent to the command handler after the
callback returns.

The problem with this approach is that it caused the callbacks
to  allocate large amounts of memory. If that amount exceeded what
can be stored in a shared memory area (32MB on Linux), the command
even failed.

The fix consists of adding a max_size field and a max_size_handler
function pointer to the para_buffer structure. Whenever para_printf()
would need to allocate more memory than specified by max_size, it
calls the max_size_handler which is supposed to send out the data.
para_printf then prints the requested data into the old but now
empty buffer.

Almost all users set the max_size_handler to pass_buffer_as_shm(),
a helper function implemented in afs.c that copies the buffer to
a shared memory area and sends its identifier through the socket.
</content>
</entry>
<entry>
<title>Remove para_mkstemp().</title>
<updated>2008-02-10T13:30:30Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@systemlinux.org</email>
</author>
<published>2008-02-10T13:30:30Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=4f0d81d30685a98ec5b1058c09be8833e7fd147f'/>
<id>urn:sha1:4f0d81d30685a98ec5b1058c09be8833e7fd147f</id>
<content type='text'>
It's unused.</content>
</entry>
<entry>
<title>Change year in Copyright comment from 2007 to 2008.</title>
<updated>2008-01-08T19:47:06Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@systemlinux.org</email>
</author>
<published>2008-01-08T19:47:06Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=c8862b9e246b4ef6ff1fe103946e18cf2537ecde'/>
<id>urn:sha1:c8862b9e246b4ef6ff1fe103946e18cf2537ecde</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Simplify para_basename().</title>
<updated>2007-12-29T20:43:13Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@systemlinux.org</email>
</author>
<published>2007-12-29T20:43:13Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=db0e72763ac5660b01c8c2db75901f4efa2c44cc'/>
<id>urn:sha1:db0e72763ac5660b01c8c2db75901f4efa2c44cc</id>
<content type='text'>
No need to allocate additional memory. This saves a malloc/free
in the hot path of com_ls(), the only caller. Also take care for
the case basename == NULL.</content>
</entry>
<entry>
<title>string.h: for_each_line_ro() takes a _pointer_ to the line_handler.</title>
<updated>2007-11-25T22:21:35Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@systemlinux.org</email>
</author>
<published>2007-11-25T22:21:35Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=501982498f53af38da7e7372670f1ed1886deac9'/>
<id>urn:sha1:501982498f53af38da7e7372670f1ed1886deac9</id>
<content type='text'>
</content>
</entry>
</feed>
