<feed xmlns='http://www.w3.org/2005/Atom'>
<title>paraslash/server.h, 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-06-15T14:58:34Z</updated>
<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>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>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>Switch to SPDX identifiers.</title>
<updated>2026-03-17T22:45:43Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@tuebingen.mpg.de</email>
</author>
<published>2026-03-15T14:57:29Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=ea0cecf96e08c489fdcc94d046019f4ce46f58e2'/>
<id>urn:sha1:ea0cecf96e08c489fdcc94d046019f4ce46f58e2</id>
<content type='text'>
Generated with

	sed -i 's|Copyright.*Andre Noll.*|SPDX-License-Identifier: GPL-2.0 */|g' *.c *.h

followed by manually tweaking the result a bit. No license change intended.
</content>
</entry>
<entry>
<title>server.h: Improve documentation of the mmd mutex.</title>
<updated>2026-03-17T18:21:03Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@tuebingen.mpg.de</email>
</author>
<published>2026-03-15T16:39:16Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=3857c83e82c0dfc867adf271a6d3db8c857ff217'/>
<id>urn:sha1:3857c83e82c0dfc867adf271a6d3db8c857ff217</id>
<content type='text'>
The text was a bit clumsy, and it talked about mmd_{un,}lock(), which have
long been superseded by mutex_{un,}lock().
</content>
</entry>
<entry>
<title>Move user_list.[ch] into server.[ch].</title>
<updated>2026-03-01T13:44:14Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@tuebingen.mpg.de</email>
</author>
<published>2026-02-13T20:28:13Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=81a135b2cfee5c3d54c30c8ffea601c7a24fbf6d'/>
<id>urn:sha1:81a135b2cfee5c3d54c30c8ffea601c7a24fbf6d</id>
<content type='text'>
This works because only the server links with user_list.o. Since struct user
contains a list head, list.h must now be included *before* server.h, which
requires some trivial header shuffling in the .c files that include server.h.
</content>
</entry>
<entry>
<title>Move send_common.c into http_send.c.</title>
<updated>2026-01-26T22:16:18Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@tuebingen.mpg.de</email>
</author>
<published>2026-01-20T20:56:18Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=0bb6b50030dd64db2b3b6e287eb777ec38278dc3'/>
<id>urn:sha1:0bb6b50030dd64db2b3b6e287eb777ec38278dc3</id>
<content type='text'>
With dccp gone, almost everything of send_common.c is specific to the
http sender. The only exception is parse_fec_url(), which is called from
com_sender() of command.c and from udp_send.c. Move this function
to server.c and the rest to http_send.c. Make the latter static and
dedoxify them.

The generic_ function prefix indicates that the function works for both the
http and the dccp transport. With dccp gone, this has become meaningless. We
keep the prefix, though, to keep the patch small.
</content>
</entry>
<entry>
<title>Move close_on_fork.c into server.c.</title>
<updated>2025-12-09T20:00:59Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@tuebingen.mpg.de</email>
</author>
<published>2025-10-21T20:32:54Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=bb55c94717fa02347e1236e96ae46f1d4791605d'/>
<id>urn:sha1:bb55c94717fa02347e1236e96ae46f1d4791605d</id>
<content type='text'>
Two of the four functions exposed in close_on_fork.h are only called from
server.c, the other two from the senders. The former two can now be made
static. Since both were implemented as one-line wrappers of the static
deplete_cof_list(), we keep only that, remove the wrappers and adjust the
two callers.
</content>
</entry>
<entry>
<title>server.h: Remove unused MMD_INFO_SIZE.</title>
<updated>2025-09-03T21:11:20Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@tuebingen.mpg.de</email>
</author>
<published>2025-09-01T08:16:51Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=390873f4b8cf1ce219d77b8079a47a29abd421e8'/>
<id>urn:sha1:390873f4b8cf1ce219d77b8079a47a29abd421e8</id>
<content type='text'>
It's unused since 2008.

Fixes: 09effd7848b2151068a4cc4b4c4c7a0b49e05e6d
</content>
</entry>
<entry>
<title>server.c: Remove unused server_get_tasks().</title>
<updated>2025-05-28T16:53:51Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@tuebingen.mpg.de</email>
</author>
<published>2025-05-27T21:51:40Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=4841dc4edc8f0e8264f6a6ca8fb525ba69859ada'/>
<id>urn:sha1:4841dc4edc8f0e8264f6a6ca8fb525ba69859ada</id>
<content type='text'>
The last caller was removed when the tasks server subcommand was disabled
eight years ago.

Fixes: bb91597b9ecf650a63a40753f7f7c771576d252e
</content>
</entry>
</feed>
