Partage
  • Partager sur Facebook
  • Partager sur Twitter

Linux (Ubuntu) error sur l'appel de sched_yield()

    5 avril 2021 à 0:21:00

    Bonjour tout le monde,

    Je code en c un programme driver et dans mon code j'ai besoin d'utiliser la fonction sched_yield() pour permettre

    a ma thread de libérer le CPU courant et ensuite  être remis en file d'attente de traitement. L’entête sched.h est bien inclut dans 

    mon fichier source. Mais quand j'appelle sched_yield(), lors de la compilation, je reçois l'erreur: implicit declaration of function "sched_yield" .

    Je vois aussi dans core.c que la fonction y est définie avec prototype SYSCALL_DEFINE0(sched_yield)

    mais pas exporter (pas de EXPORT_SYMBOL(sched_yield)). Même la encore je ne sais quoi inclure comme header pour tenter d'appeler sched_yield().

    Je ne sais pas vraiment ou chercher pourtant c'est une fonction du noyau Linux. Je voudrais utiliser cette fonction au niveau noyau et je suis bloque depuis 2 mois.

    J'ai besoin de votre aide pour comprendre quoi faire pour utiliser cette fonction.

    Merci d'avance pour votre aide.

    • Partager sur Facebook
    • Partager sur Twitter
      6 avril 2021 à 9:08:43

      Bonjour,

      Déplacement vers un forum plus approprié

      Le sujet est déplacé de la section Linux & FreeBSD vers la section Langage C

      • Partager sur Facebook
      • Partager sur Twitter
      Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL

      Linux (Ubuntu) error sur l'appel de sched_yield()

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown