<feed xmlns='http://www.w3.org/2005/Atom'>
<title>paraslash/server.c, branch master</title>
<subtitle>paraslash - network audio streaming tools</subtitle>
<id>https://git.tue.mpg.de/cgit/paraslash/atom?h=master</id>
<link rel='self' href='https://git.tue.mpg.de/cgit/paraslash/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/'/>
<updated>2026-07-06T19:44:05Z</updated>
<entry>
<title>server.c: Drop return statement of parse_config_or_die().</title>
<updated>2026-07-06T19:44:05Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@tuebingen.mpg.de</email>
</author>
<published>2026-07-05T15:28:12Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=ea939c5cab20b006d968511c1d3ed51b5707beb5'/>
<id>urn:sha1:ea939c5cab20b006d968511c1d3ed51b5707beb5</id>
<content type='text'>
The function returns void, so the statement has no effect.
</content>
</entry>
<entry>
<title>Move xrename() from fd.c to afh.c and make it static.</title>
<updated>2026-07-04T20:39:38Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@tuebingen.mpg.de</email>
</author>
<published>2026-06-23T19:20:37Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=263c1d8b1faafeea5ec927c0e2e99d89200f66da'/>
<id>urn:sha1:263c1d8b1faafeea5ec927c0e2e99d89200f66da</id>
<content type='text'>
It's only used there.
</content>
</entry>
<entry>
<title>server: Don't include config.h twice.</title>
<updated>2026-07-03T17:57:43Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@tuebingen.mpg.de</email>
</author>
<published>2026-06-23T21:13:54Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=ad6a749ec2601fa4106d25f13817af22c861c5a8'/>
<id>urn:sha1:ad6a749ec2601fa4106d25f13817af22c861c5a8</id>
<content type='text'>
It gets already included from para.h.
</content>
</entry>
<entry>
<title>Merge topic branch t/vss into master</title>
<updated>2026-06-15T14:58:34Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@tuebingen.mpg.de</email>
</author>
<published>2026-06-15T14:57:54Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=e7264c1bc7f306dbdea7e194309cf007dffa1c1a'/>
<id>urn:sha1:e7264c1bc7f306dbdea7e194309cf007dffa1c1a</id>
<content type='text'>
Improvements for the virtual streaming system
---------------------------------------------
This brings in a bunch of small improvements and a fix for a SIGHUP related bug.

* t/vss:
  vss: Streamline vss_post_monitor().
  vss: Run sender commands first in vss_post_monitor().
  vss: Set mmd-&gt;offset early when paused.
  vss: Don't set data send barrier unnecessarily.
  vss: Improve documentation of --autoplay-delay.
  vss: Open-code fc_num_redundant_slices().
  vss: Check return value of compute_slice_size().
  vss: Clarify afs socket handling.
  vss: Handle EOF *after* sending chunks.
  vss: Merge vss_compute_timeout() into its caller.
  vss: Kill magic 100ms timeout.
  vss: Remove vss_chunk_time().
  vss: Simplify and rename recv_afs_msg().
  vss: Recompute announce timeval on SIGHUP.
</content>
</entry>
<entry>
<title>Merge topic branch t/socket-cookie into master</title>
<updated>2026-05-30T21:55:06Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@tuebingen.mpg.de</email>
</author>
<published>2026-05-30T21:54:09Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=4c2b1f24524fb5003e6c766d8f3848d7c27cf6a4'/>
<id>urn:sha1:4c2b1f24524fb5003e6c766d8f3848d7c27cf6a4</id>
<content type='text'>
AFS socket cookie replacement
-----------------------------
A small but rather intrusive patch set which touches the guts of the afs
callback mechanism.

* t/socket-cookie:
  afs: Avoid the void * argument of send_lls_callback_request().
  Kill afs socket cookie and afs_client_list.
  afs: Improve error handling of afs_signal_post_monitor().
</content>
</entry>
<entry>
<title>vss: Recompute announce timeval on SIGHUP.</title>
<updated>2026-05-27T22:06:39Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@tuebingen.mpg.de</email>
</author>
<published>2026-04-12T21:55:22Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=14ac2bbd91c9d9f944293ea1785b52a607e27017'/>
<id>urn:sha1:14ac2bbd91c9d9f944293ea1785b52a607e27017</id>
<content type='text'>
The hup subcommand does not work as expected when the argument to the
--announce-time has changed in the configuration file. The problem is that
we convert the argument once to a struct timeval in vss_init() and only use
that for everything, but miss to update the struct on SIGHUP.

Fix that by adding a ms2tv() call to handle_sighup(). To give this function
access to the struct, we need to move it from struct vss_task to server.c,
make it non-static and declare it in server.h.
</content>
</entry>
<entry>
<title>server: Simplify status_refresh() and merge into server_poll().</title>
<updated>2026-05-08T20:19:58Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@tuebingen.mpg.de</email>
</author>
<published>2026-04-11T00:14:43Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=6d3d18b6ca916bbf23ea5520ab56b17e0dcbcd1a'/>
<id>urn:sha1:6d3d18b6ca916bbf23ea5520ab56b17e0dcbcd1a</id>
<content type='text'>
Drop the silly uptime update code while at it.
</content>
</entry>
<entry>
<title>server: Move alarm(2) call into handle_connect() of command.c.</title>
<updated>2026-05-08T20:19:58Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@tuebingen.mpg.de</email>
</author>
<published>2026-04-01T22:52:19Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=03021ecdbdd7bfe840c503adb1891e7c1f0d6da2'/>
<id>urn:sha1:03021ecdbdd7bfe840c503adb1891e7c1f0d6da2</id>
<content type='text'>
Since the alarm clock is cancelled in handle_connect(), let's also set it
there. Remove the pointless ALARM_TIMEOUT macro while at it.
</content>
</entry>
<entry>
<title>Kill afs socket cookie and afs_client_list.</title>
<updated>2026-04-29T18:37:48Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@tuebingen.mpg.de</email>
</author>
<published>2026-03-31T22:40:53Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=7557912e8a30577b85ae91c7f984173776e72e09'/>
<id>urn:sha1:7557912e8a30577b85ae91c7f984173776e72e09</id>
<content type='text'>
We now create a per-command socket pair in the command handler and use the
permanent server-afs socket to pass one end of the pair from the command
handler to the afs process.

With this approach only the command handlers can possibly talk to the
afs process, so we don't need to worry about malicious or bogus connections
arriving at the local socket.

Consequently, we may remove the socket cookie and employ blocking I/O for the
shared memory identifiers that are transferred through the per-command socket.
Connections are now dispatched in one go, obviating the need to keep track
of connected clients. So remove struct afs_client and the client list.
</content>
</entry>
<entry>
<title>server: Rename child_fd -&gt;  client_fd.</title>
<updated>2026-04-07T23:27:24Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@tuebingen.mpg.de</email>
</author>
<published>2026-03-31T19:36:48Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=7d3d86fa43db58db665a1a60eefb9073876b2fda'/>
<id>urn:sha1:7d3d86fa43db58db665a1a60eefb9073876b2fda</id>
<content type='text'>
It's the fd to communicate with the client, after all.
</content>
</entry>
</feed>
