Openwall GNU/*/Linux - a small security-enhanced Linux distro for servers
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date: Tue, 1 Mar 2016 00:50:59 -0500
From: James Marshall <jcmarsh@...ail.gwu.edu>
To: musl@...ts.openwall.com
Subject: Re: sched_* implemented?

That works! Thank you for the help.

The way glibc / sched_setscheduler are setup is very... interesting.

James

On Mon, Feb 29, 2016 at 11:59 PM, Rich Felker <dalias@...c.org> wrote:

> On Mon, Feb 29, 2016 at 11:32:34PM -0500, James Marshall wrote:
> > Hi,
> >
> > I'm working on a realtime application and am trying to use musl. I would
> > like to call sched_setscheduler, but it looks like this is just a stub in
> > musl.
> >
> > However,
> >
> http://nsz.repo.hu/git/?p=musl-tables;a=blob_plain;f=tab_posix.html;hb=HEAD
> > has it marked as implemented. Am I missing something? Is there a patch
> > available?
> >
> > If there is not, any idea of how difficult it would be for me to add it
> in?
> > Or would I be better off using syscall directly instead?
> >
> > Your help and time is appreciated.
>
> The reason it doesn't do anything is that Linux does not provide a way
> to set scheduling parameters for a _process_, only for threads. The
> sched_setscheduler syscall is documented as taking a pid but actually
> takes a thread id and only operates on that thread. glibc just ignores
> this and provides sched_* functions that do the wrong thing.
>
> Fortunately there's an easy fix: use pthread_setschedparam, and
> pthread_self to get the pthread_t value you need to pass to it.
>
> Rich
>

Content of type "text/html" skipped

Powered by blists - more mailing lists

Your e-mail address:

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.