sched_setschedule 在“aarch64-linux-musl-g++”上失败

问题描述 投票:0回答:1

我在 Android 上设置调度策略的一段代码遇到了运行时问题。代码使用“aarch64-linux-androideabi21-clang++”编译并运行成功,但使用“aarch64-linux-musl-g++”编译时在运行时失败

#include <iostream>
#include <sched.h>
#include <unistd.h>

int main() {
    struct sched_param param {};
    param.sched_priority = 1;
    // Set real-time scheduling policy with priority 1
    int result = sched_setscheduler(0, SCHED_OTHER, &param);
    if (result == 0) {
        std::cout << "Scheduling policy set successfully.\n";
    } else {
        std::cerr << "Error setting scheduling policy.\n";
    }
    return 0;
}
c++ embedded-linux android-source gnu clang++
1个回答
0
投票

这是撰写本文时 sched_setscheduler

musl 实现
的完整内容:

int sched_setscheduler(pid_t pid, int sched, const struct sched_param *param)
{
    return __syscall_ret(-ENOSYS);
}

它不执行任何操作,只是返回一个错误。

© www.soinside.com 2019 - 2024. All rights reserved.