Skip to content
Extraits de code Groupes Projets
Valider abb1250a rédigé par Corentin Zgajewski Delforge's avatar Corentin Zgajewski Delforge
Parcourir les fichiers

commencer thread

parent 0e121e5a
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
Pipeline #2880 réussi
......@@ -8,12 +8,40 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <pthread.h>
//int pthread_create(pthread_t *thread, pthread_attr_t *attr, void *(*start_routine) (void *), void *arg) ; // 0 si réussi et autre valeur sinon
/* premier valeur est un pointeur vers l'identifiant du thread
* deuxieme est l'attribut de thread
* le troisieme est la fonction a exucter
* dernier argument a passer au thread
*/
void thread_exit(void *ret) ;
// supprimer un thread
int thread_join(pthread_t th , void **thread_return) ;
// identifiant du thread et un argument permetant de récupérer la value retourné par la fonction dans lequel le thread s'exécute
int is_div(long number, long i) { // Vérifie si i est un diviseur de number.
return (number % i == 0) ; // revoi 0 si le nombre n'est pas divisible par i et 1 si il est divisible
}
//creation du mutex
typedef struct data {
int var;
pthread_mutex_t mutex;
} data;
//vérouiller un mutex
int pthread_mutex_lock(pthread_mutex_t *mut) ;
//deverouiller un mutex
int pthread_mutex_unlock(pthread_mutex_t *mut) ;
//detruire un mutex
int pthread_mutex_destroy(pthread_mutex_t *mut) ;
int is_prime(long number) { // Vérifie si number est un nombre premier. Return 1 si il est premier, 0 sinon
if (number != 2) {
if (number % 2 == 0) {
......@@ -95,7 +123,7 @@ int run (char *input,char *output){
FILE *file1 = NULL;
FILE *file2 = NULL;
char chaine[20];
char *chaine = malloc(sizeof(char[20]));
file1 = fopen(input,"r");
if (file1 == NULL){return -1;}
......@@ -106,14 +134,14 @@ int run (char *input,char *output){
return -1;
}
while (fgets(chaine,50,file1) != NULL){
while (fgets(chaine,sizeof(char[20]),file1) != NULL){
struct queue *pr_divs;
pr_divs = malloc(sizeof(queue_t));
if (pr_divs == NULL){return -1;}
char *c;
pr_divs = prime_divs(strtol(chaine,&c,10));
pr_divs = prime_divs(strtol(chaine,NULL,0));
char *ptr;
ptr = malloc(50);
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter