<feed xmlns='http://www.w3.org/2005/Atom'>
<title>xavi/slcl/server.c, branch search</title>
<subtitle>Small and lightweight cloud storage written in C99 and POSIX.1-2008.
</subtitle>
<id>https://gitea.privatedns.org/xavi/slcl/atom?h=search</id>
<link rel='self' href='https://gitea.privatedns.org/xavi/slcl/atom?h=search'/>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/slcl/'/>
<updated>2023-05-01T02:13:25+00:00</updated>
<entry>
<title>Avoid crashing on SIGPIPE</title>
<updated>2023-05-01T02:13:25+00:00</updated>
<author>
<name>Xavier Del Campo Romero</name>
<email>xavi.dcr@tutanota.com</email>
</author>
<published>2023-05-01T01:06:34+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/slcl/commit/?id=9c7a2e91285ca91d500cc828ad041a264128db4d'/>
<id>urn:sha1:9c7a2e91285ca91d500cc828ad041a264128db4d</id>
<content type='text'>
Under some circumstances, clients could cause SIGPIPE to slcl. Since
this signal was not handled by server.c (i.e., via sigaction(3)), slcl
would crash without any error messages printed to stderr.

In such situation, SIGPIPE should not be usually considered a fatal
error, so it is preferrable to close the connection and keep working.
</content>
</entry>
<entry>
<title>Replace select(2) with poll(2)</title>
<updated>2023-05-01T02:13:16+00:00</updated>
<author>
<name>Xavier Del Campo Romero</name>
<email>xavi.dcr@tutanota.com</email>
</author>
<published>2023-04-27T22:19:32+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/slcl/commit/?id=dc063b90cbf13a463c29ee5b81abeb07b6698473'/>
<id>urn:sha1:dc063b90cbf13a463c29ee5b81abeb07b6698473</id>
<content type='text'>
select(2) has a number of well-known issues (e.g.: FD_SETSIZE limiting
the maximum amount of file descriptors to watch) that are mostly solved
by poll(2) and thus can be used as a drop-in replacement.
</content>
</entry>
<entry>
<title>Define _POSIX_C_SOURCE</title>
<updated>2023-03-24T01:49:11+00:00</updated>
<author>
<name>Xavier Del Campo Romero</name>
<email>xavi.dcr@tutanota.com</email>
</author>
<published>2023-03-24T01:47:11+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/slcl/commit/?id=b3ef22ac2ae126951c5b74003c7b17189c0ecbbb'/>
<id>urn:sha1:b3ef22ac2ae126951c5b74003c7b17189c0ecbbb</id>
<content type='text'>
This allows using the default compiler defined by make(1) (i.e.,
c99(1)), thus improving POSIX compatibility.
</content>
</entry>
<entry>
<title>server.c: Fix wrong size for memcpy(3)</title>
<updated>2023-03-08T00:17:34+00:00</updated>
<author>
<name>Xavier Del Campo Romero</name>
<email>xavi.dcr@tutanota.com</email>
</author>
<published>2023-03-08T00:17:34+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/slcl/commit/?id=5e100ff3c1907e12bbb88204019f0fd3e44a5247'/>
<id>urn:sha1:5e100ff3c1907e12bbb88204019f0fd3e44a5247</id>
<content type='text'>
</content>
</entry>
<entry>
<title>server.c: Minor const-correctness improvement</title>
<updated>2023-03-07T11:41:03+00:00</updated>
<author>
<name>Xavier Del Campo Romero</name>
<email>xavi.dcr@tutanota.com</email>
</author>
<published>2023-03-07T11:41:03+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/slcl/commit/?id=0954abcf098efbf2c73373a49c7fe26a5effcfcb'/>
<id>urn:sha1:0954abcf098efbf2c73373a49c7fe26a5effcfcb</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix memory leak on failed realloc(3)</title>
<updated>2023-03-04T02:03:15+00:00</updated>
<author>
<name>Xavier Del Campo Romero</name>
<email>xavi.dcr@tutanota.com</email>
</author>
<published>2023-03-04T01:06:19+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/slcl/commit/?id=62bdf9f72f6a65b76bbb97ffa467e16217646cbc'/>
<id>urn:sha1:62bdf9f72f6a65b76bbb97ffa467e16217646cbc</id>
<content type='text'>
According to C99 §7.20.3.4:

If memory for the new object cannot be allocated, the old object is not
deallocated and its value is unchanged.

Therefore, a temporary pointer must be used to ensure the original
object can still be deallocated should realloc(3) return a null pointer.
</content>
</entry>
<entry>
<title>Initial commit</title>
<updated>2023-02-28T00:43:56+00:00</updated>
<author>
<name>Xavier Del Campo Romero</name>
<email>xavi.dcr@tutanota.com</email>
</author>
<published>2023-01-09T00:22:54+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/slcl/commit/?id=d26f046fc9149693a6ebc28301ccc3581c0f144e'/>
<id>urn:sha1:d26f046fc9149693a6ebc28301ccc3581c0f144e</id>
<content type='text'>
</content>
</entry>
</feed>
