<feed xmlns='http://www.w3.org/2005/Atom'>
<title>musl/src/thread, branch v0.9.13</title>
<subtitle>musl - an implementation of the standard library for Linux-based systems</subtitle>
<link rel='alternate' type='text/html' href='http://git.musl-libc.org/cgit/musl/'/>
<entry>
<title>in pthread_getattr_np, use mremap rather than madvise to measure stack</title>
<updated>2013-07-31T19:19:39+00:00</updated>
<author>
<name>Rich Felker</name>
<email>dalias@aerifal.cx</email>
</author>
<published>2013-07-31T19:19:39+00:00</published>
<link rel='alternate' type='text/html' href='http://git.musl-libc.org/cgit/musl/commit/?id=5db951ef80cae8b627f95b995811bf916c069757'/>
<id>5db951ef80cae8b627f95b995811bf916c069757</id>
<content type='text'>
the original motivation for this patch was that qemu (and possibly
other syscall emulators) nop out madvise, resulting in an infinite
loop. however, there is another benefit to this change: madvise may
actually undo an explicit madvise the application intended for its
stack, whereas the mremap operation is a true nop. the logic here is
that mremap must fail if it cannot resize the mapping in-place, and
the caller knows that it cannot resize in-place because it knows the
next page of virtual memory is already occupied.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
the original motivation for this patch was that qemu (and possibly
other syscall emulators) nop out madvise, resulting in an infinite
loop. however, there is another benefit to this change: madvise may
actually undo an explicit madvise the application intended for its
stack, whereas the mremap operation is a true nop. the logic here is
that mremap must fail if it cannot resize the mapping in-place, and
the caller knows that it cannot resize in-place because it knows the
next page of virtual memory is already occupied.
</pre>
</div>
</content>
</entry>
<entry>
<title>make pthread attribute types structs, even when they just have one field</title>
<updated>2013-07-22T17:57:02+00:00</updated>
<author>
<name>Rich Felker</name>
<email>dalias@aerifal.cx</email>
</author>
<published>2013-07-22T17:57:02+00:00</published>
<link rel='alternate' type='text/html' href='http://git.musl-libc.org/cgit/musl/commit/?id=0109d950e685f1c5f6cef245a8b1bc47c9b6d94c'/>
<id>0109d950e685f1c5f6cef245a8b1bc47c9b6d94c</id>
<content type='text'>
this change is to get the right tags for C++ ABI matching. it should
have no other effects.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
this change is to get the right tags for C++ ABI matching. it should
have no other effects.
</pre>
</div>
</content>
</entry>
<entry>
<title>fix syscall argument bug in pthread_getschedparam</title>
<updated>2013-06-27T02:02:23+00:00</updated>
<author>
<name>Rich Felker</name>
<email>dalias@aerifal.cx</email>
</author>
<published>2013-06-27T02:02:23+00:00</published>
<link rel='alternate' type='text/html' href='http://git.musl-libc.org/cgit/musl/commit/?id=b17c75a4d539d7ec5b81cc7ce7ce6b065a87e7a6'/>
<id>b17c75a4d539d7ec5b81cc7ce7ce6b065a87e7a6</id>
<content type='text'>
the address of the pointer to the sched param, rather than the
pointer, was being passed to the kernel.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
the address of the pointer to the sched param, rather than the
pointer, was being passed to the kernel.
</pre>
</div>
</content>
</entry>
<entry>
<title>fix temp file leak in sem_open on successful creation of new semaphore</title>
<updated>2013-06-27T01:41:51+00:00</updated>
<author>
<name>Rich Felker</name>
<email>dalias@aerifal.cx</email>
</author>
<published>2013-06-27T01:41:51+00:00</published>
<link rel='alternate' type='text/html' href='http://git.musl-libc.org/cgit/musl/commit/?id=7c20a11801fd56cbadac5a6e88ddddf8656ac1bc'/>
<id>7c20a11801fd56cbadac5a6e88ddddf8656ac1bc</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>fix bug whereby sem_open leaked its own internal slots on failure</title>
<updated>2013-06-27T01:39:15+00:00</updated>
<author>
<name>Rich Felker</name>
<email>dalias@aerifal.cx</email>
</author>
<published>2013-06-27T01:39:15+00:00</published>
<link rel='alternate' type='text/html' href='http://git.musl-libc.org/cgit/musl/commit/?id=a033cd22aa0ecd9f494b74669d358e7e1c7e1335'/>
<id>a033cd22aa0ecd9f494b74669d358e7e1c7e1335</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>in sem_open, don't leak vm mapping if fstat fails</title>
<updated>2013-06-27T01:35:56+00:00</updated>
<author>
<name>Rich Felker</name>
<email>dalias@aerifal.cx</email>
</author>
<published>2013-06-27T01:35:56+00:00</published>
<link rel='alternate' type='text/html' href='http://git.musl-libc.org/cgit/musl/commit/?id=52d4444f8eec1a4e7e0861859c705c3a558b4e2a'/>
<id>52d4444f8eec1a4e7e0861859c705c3a558b4e2a</id>
<content type='text'>
fstat should not fail under normal circumstances, so this fix is
mostly theoretical.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
fstat should not fail under normal circumstances, so this fix is
mostly theoretical.
</pre>
</div>
</content>
</entry>
<entry>
<title>fix failure of pthread_setschedparam to pass correct param to kernel</title>
<updated>2013-06-27T01:34:44+00:00</updated>
<author>
<name>Rich Felker</name>
<email>dalias@aerifal.cx</email>
</author>
<published>2013-06-27T01:34:44+00:00</published>
<link rel='alternate' type='text/html' href='http://git.musl-libc.org/cgit/musl/commit/?id=21088aee2eb6bf12fd3b1db918ee4754989ff7da'/>
<id>21088aee2eb6bf12fd3b1db918ee4754989ff7da</id>
<content type='text'>
the address of the pointer, rather than the pointer, was being passed.
this was probably a copy-and-paste error from corresponding get code.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
the address of the pointer, rather than the pointer, was being passed.
this was probably a copy-and-paste error from corresponding get code.
</pre>
</div>
</content>
</entry>
<entry>
<title>support cputime clocks for processes/threads other than self</title>
<updated>2013-06-08T15:36:41+00:00</updated>
<author>
<name>Rich Felker</name>
<email>dalias@aerifal.cx</email>
</author>
<published>2013-06-08T15:36:41+00:00</published>
<link rel='alternate' type='text/html' href='http://git.musl-libc.org/cgit/musl/commit/?id=ea200e38bd79723054c7ad97cbf87911eac5b7f5'/>
<id>ea200e38bd79723054c7ad97cbf87911eac5b7f5</id>
<content type='text'>
apparently these features have been in Linux for a while now, so it
makes sense to support them. the bit twiddling seems utterly illogical
and wasteful, especially the negation, but that's how the kernel folks
chose to encode pids/tids into the clock id.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
apparently these features have been in Linux for a while now, so it
makes sense to support them. the bit twiddling seems utterly illogical
and wasteful, especially the negation, but that's how the kernel folks
chose to encode pids/tids into the clock id.
</pre>
</div>
</content>
</entry>
<entry>
<title>ensure that thread dtv pointer is never null to optimize __tls_get_addr</title>
<updated>2013-06-03T20:35:59+00:00</updated>
<author>
<name>Rich Felker</name>
<email>dalias@aerifal.cx</email>
</author>
<published>2013-06-03T20:35:59+00:00</published>
<link rel='alternate' type='text/html' href='http://git.musl-libc.org/cgit/musl/commit/?id=44b4d09fc0626541ca12cf96f65adc21ab1fc413'/>
<id>44b4d09fc0626541ca12cf96f65adc21ab1fc413</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>transition to using functions for internal signal blocking/restoring</title>
<updated>2013-04-26T23:48:01+00:00</updated>
<author>
<name>Rich Felker</name>
<email>dalias@aerifal.cx</email>
</author>
<published>2013-04-26T23:48:01+00:00</published>
<link rel='alternate' type='text/html' href='http://git.musl-libc.org/cgit/musl/commit/?id=2c074b0d6cb2b28c5d1c0ccb2809965f4676efeb'/>
<id>2c074b0d6cb2b28c5d1c0ccb2809965f4676efeb</id>
<content type='text'>
there are several reasons for this change. one is getting rid of the
repetition of the syscall signature all over the place. another is
sharing the constant masks without costly GOT accesses in PIC.

the main motivation, however, is accurately representing whether we
want to block signals that might be handled by the application, or all
signals.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
there are several reasons for this change. one is getting rid of the
repetition of the syscall signature all over the place. another is
sharing the constant masks without costly GOT accesses in PIC.

the main motivation, however, is accurately representing whether we
want to block signals that might be handled by the application, or all
signals.
</pre>
</div>
</content>
</entry>
</feed>
