<feed xmlns='http://www.w3.org/2005/Atom'>
<title>skalibs/package, branch v2.10.0.3</title>
<subtitle>The skarnet.org C programming library</subtitle>
<id>https://git.skarnet.org/cgit/skalibs/atom/package?h=v2.10.0.3</id>
<link rel='self' href='https://git.skarnet.org/cgit/skalibs/atom/package?h=v2.10.0.3'/>
<link rel='alternate' type='text/html' href='https://git.skarnet.org/cgit/skalibs/'/>
<updated>2021-04-13T21:04:10Z</updated>
<entry>
<title> Prepare for 2.10.0.3</title>
<updated>2021-04-13T21:04:10Z</updated>
<author>
<name>Laurent Bercot</name>
<email>ska-skaware@skarnet.org</email>
</author>
<published>2021-04-13T21:04:10Z</published>
<link rel='alternate' type='text/html' href='https://git.skarnet.org/cgit/skalibs/commit/?id=705cd6afd708eae81e713f13382f4214ebcb2ee9'/>
<id>urn:sha1:705cd6afd708eae81e713f13382f4214ebcb2ee9</id>
<content type='text'>
</content>
</entry>
<entry>
<title> Prepare for 2.10.0.2</title>
<updated>2021-02-11T16:48:17Z</updated>
<author>
<name>Laurent Bercot</name>
<email>ska-skaware@skarnet.org</email>
</author>
<published>2021-02-11T16:48:17Z</published>
<link rel='alternate' type='text/html' href='https://git.skarnet.org/cgit/skalibs/commit/?id=c9cbf322db9b0617e38859b08e9ea90976bd6fcd'/>
<id>urn:sha1:c9cbf322db9b0617e38859b08e9ea90976bd6fcd</id>
<content type='text'>
</content>
</entry>
<entry>
<title> Better deps.mak</title>
<updated>2021-01-19T22:41:51Z</updated>
<author>
<name>Laurent Bercot</name>
<email>ska-skaware@skarnet.org</email>
</author>
<published>2021-01-19T22:41:51Z</published>
<link rel='alternate' type='text/html' href='https://git.skarnet.org/cgit/skalibs/commit/?id=e5d3e0a543d677652119ef634fb7c1d6de8d5519'/>
<id>urn:sha1:e5d3e0a543d677652119ef634fb7c1d6de8d5519</id>
<content type='text'>
</content>
</entry>
<entry>
<title> Prepare for 2.10.0.1</title>
<updated>2021-01-14T23:01:07Z</updated>
<author>
<name>Laurent Bercot</name>
<email>ska-skaware@skarnet.org</email>
</author>
<published>2021-01-14T23:01:07Z</published>
<link rel='alternate' type='text/html' href='https://git.skarnet.org/cgit/skalibs/commit/?id=3f894f075f2fa9265544297b17e710fc097c063f'/>
<id>urn:sha1:3f894f075f2fa9265544297b17e710fc097c063f</id>
<content type='text'>
</content>
</entry>
<entry>
<title> Add mkptemp2()</title>
<updated>2020-12-09T18:46:22Z</updated>
<author>
<name>Laurent Bercot</name>
<email>ska-skaware@skarnet.org</email>
</author>
<published>2020-12-09T18:46:22Z</published>
<link rel='alternate' type='text/html' href='https://git.skarnet.org/cgit/skalibs/commit/?id=ea189862e2be9ebf35da6174b1ae0083a22cc9ee'/>
<id>urn:sha1:ea189862e2be9ebf35da6174b1ae0083a22cc9ee</id>
<content type='text'>
</content>
</entry>
<entry>
<title> Get rid of webipc.h and DJBUNIX_FLAG_*</title>
<updated>2020-12-09T17:16:40Z</updated>
<author>
<name>Laurent Bercot</name>
<email>ska-skaware@skarnet.org</email>
</author>
<published>2020-12-09T17:16:40Z</published>
<link rel='alternate' type='text/html' href='https://git.skarnet.org/cgit/skalibs/commit/?id=e557bab0dcaf35f003fa755b74e4c80000e05e42'/>
<id>urn:sha1:e557bab0dcaf35f003fa755b74e4c80000e05e42</id>
<content type='text'>
 Decent semantic header separation is hard. It's always
an ongoing process. Here socket.h always included webipc.h
for listen(), and webipc.h always included djbunix.h for
socket_internal() and socketpair_internal(). That's ugh.
Just move all the socket stuff into one socket header.
Of course, djbunix.h is still needed most of the time for
fd_close() and other operations on fds, but those are
generic anyway.

 Also, O_CLOEXEC exists everywhere now, so we can use it as well
as O_NONBLOCK instead of redefining the flags in djbunix.h.
</content>
</entry>
<entry>
<title> Revamp lock primitives; prepare for 2.10.0.0 instead of 2.9.4.0</title>
<updated>2020-11-29T21:02:32Z</updated>
<author>
<name>Laurent Bercot</name>
<email>ska-skaware@skarnet.org</email>
</author>
<published>2020-11-29T21:02:32Z</published>
<link rel='alternate' type='text/html' href='https://git.skarnet.org/cgit/skalibs/commit/?id=90b819c6d832046840018ff08b9bc5d0e3b69c37'/>
<id>urn:sha1:90b819c6d832046840018ff08b9bc5d0e3b69c37</id>
<content type='text'>
 flock() doesn't have a way to test for a lock without taking it.
 lockf() doesn't have shared locks.
 The only way to have both is fcntl(). So I rewrote all the
locking stuff around fcntl(), and used the opportunity to change
the interface.
 The point of changing the interface is to stop having to bother
with the old one, so to hell with compatibility, let's just do a
major bump.
</content>
</entry>
<entry>
<title> Do not use skalibs/environ.h</title>
<updated>2020-11-26T09:18:34Z</updated>
<author>
<name>Laurent Bercot</name>
<email>ska-skaware@skarnet.org</email>
</author>
<published>2020-11-26T09:18:34Z</published>
<link rel='alternate' type='text/html' href='https://git.skarnet.org/cgit/skalibs/commit/?id=e6c5c984461dc4cec0ef2d68524d6bd457e23853'/>
<id>urn:sha1:e6c5c984461dc4cec0ef2d68524d6bd457e23853</id>
<content type='text'>
</content>
</entry>
<entry>
<title> child_spawn cleanup, configure cleanup</title>
<updated>2020-11-25T15:00:45Z</updated>
<author>
<name>Laurent Bercot</name>
<email>ska-skaware@skarnet.org</email>
</author>
<published>2020-11-25T15:00:45Z</published>
<link rel='alternate' type='text/html' href='https://git.skarnet.org/cgit/skalibs/commit/?id=21e6ea800cc96ba76e94ad8de1dfa58ab1b7ceb6'/>
<id>urn:sha1:21e6ea800cc96ba76e94ad8de1dfa58ab1b7ceb6</id>
<content type='text'>
</content>
</entry>
<entry>
<title> Complete revamp of the pathexec functions</title>
<updated>2020-11-24T21:45:56Z</updated>
<author>
<name>Laurent Bercot</name>
<email>ska-skaware@skarnet.org</email>
</author>
<published>2020-11-24T21:45:56Z</published>
<link rel='alternate' type='text/html' href='https://git.skarnet.org/cgit/skalibs/commit/?id=18e43565574b700befc832ed4d25d25e40951f68'/>
<id>urn:sha1:18e43565574b700befc832ed4d25d25e40951f68</id>
<content type='text'>
- pathexec_run is now called exec_ae
    a for provided file name (default: argv[0])
    e for provided envp (default: environ)
- pathexec is now called mexec. m for merge environment. Option letters are:
    a for provided file name (default: argv[0])
    e for provided envp (default: environ)
    f for provided envp *and* length of the envp
    m for provided modif string plus its length (the length is always needed
because the modifs are null-terminated)
    n for provided modif string, length *and* number of modifs
- functions have a foo0 version for _exit(0) when argv[0] is null
- functions have a xfoo version to die if the exec fails
- and a xfoo0
- Compatibility #defines and #includes are there until the next major bump
</content>
</entry>
</feed>
