Précédent   Forum des professionnels en informatique > Systèmes > Autres systèmes > Réseaux
Réseaux Réseaux, wifi, routeurs,...
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 12/04/2007, 10h47   #1
Nouveau Membre du Club
 
Inscription : février 2006
Messages : 63
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 63
Points : 28
Points : 28
Par défaut problème de priorité des threads

Bonjour je développes un programme qui utilise 2 threads différents j'arrive à les créer mais j'arrive pas à changer leur priorité.

Voici mon code :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#include<stdio.h>
#include<pthread.h>



int i,cp,impulsion=0,retour;
char temp[10];
pthread_t pthread_id;
struct sched_param   param;

void * threadClient(void *arg)
{
  for(;;)
    {
	impulsion++;
    }
}

int main()
{
	retour=pthread_create(&pthread_id, NULL, threadClient, &impulsion);
	if(retour!=0)
	{
		sprintf(temp,"%i",retour);
		puts("erreur de creation du thread :");
		puts(temp);
	}
	retour = pthread_setschedparam(pthread_id, SCHED_FIFO, &param);
	if(retour!=0)
	{
		sprintf(temp,"%i",retour);
		puts("erreur de priorite : ");
		puts(temp);
	}
		i=0;
	while (i!=-1)
	{
		if (cp==100000)
		{
			sprintf(temp,"%i",impulsion);
			puts(temp);
			cp=0;
		}
		else
			cp++;
	}
	return 0;
}
Comme erreur au niveau des priorité il me retourne la valeur 22.

or dans la doc il est écrit :
Citation:
En cas d'erreur, pthread_setschedparam renvoie l'un des codes d'erreurs suivants :

EINVAL
politique n'est pas parmi : SCHED_OTHER, SCHED_RR, SCHED_FIFO
EINVAL
la valeur de la priorité indiquée par param n'est pas valide pour la politique choisie.
EPERM
le thread appelant ne possède pas les droits du super-utilisateur.
ESRCH
target_thread n'est pas valide ou est déjà terminé.
EFAULT
param pointe en dehors de l'espace mémoire du processus.
Et je vois pas trop a quel erreur ca peut se rapporter.

Mais à mon avis ca doit etre un problème au niveau de param. Mais je vois pas quel valeur mettre. Dans la doc il est écrit :
Citation:
param change les paramètres d'ordonnancement pour les deux politiques temps réel. Voir sched_setpolicy(2) pour plus d'information sur ces politiques.
ais le lien vers sched_setpolicy(2) n'existe plus et l i'nformation avant ne me dit pas clairement ce que je dois mettre à la place de param.
Si qq'un peut m'aider ?
Merci d'avance
wauant est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/04/2007, 10h49   #2
Nouveau Membre du Club
 
Inscription : février 2006
Messages : 63
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 63
Points : 28
Points : 28
oops je me suis trompé de section ca je venais de répondre dedans si un modo peux supprimer cette discussion je l'ai repostée dans le forum C. Merci
wauant est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 13h20.


 
 
 
 
Partenaires

Hébergement Web