<commit_before>#include "header.h"

void			*fonc_thread_out(void *k)
{
	(void)			k;
	s_info_trs		message;
	int				ratio_defaut;

	puts("Robot out allume\n");
	while (1)
	{
		//ssize_t msgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg);
		if (msgrcv(msgid_out, &message, sizeof(s_info_trs) - sizeof(long), 5, 0) == -1)
			error("msgrcv msgid_out");
		if (message.piece.def_out)
			ratio_defaut = 2;
		else
			ratio_defaut = 1;
		sem_post(sem_convoyeur);//capteur allume, piece n est plus sur le convoyeur
		if (sigsetjmp(contexte_sigalrm, 1) == 0)
		{
			/* premier passage, installation */
			alarm(20 * RATIO_TEMPS);//peut etre probleme car fonctionne avec sec...
			usleep((1000000 * 20 - 10000) * RATIO_TEMPS * ratio_defaut);
			alarm(0);
			puts("Ok ! Piece sur dans le depot\n");
		}
		else
		{
			/* On est arrive par SIGALRM */
			puts("\n==== Systeme en état de défaillance Robot_out! ====\n");
			puts("10s...");
			sleep(10);
			fonction_spr_sem_msg();
			exit(EXIT_FAILURE);
		}
	}
	puts("Robot out eteint\n");
	return (NULL);
}


void			creation_robot_out(void)
{
	pthread_t	thread_id;
	long		i;

	i = 0;
	if (pthread_create(&thread_id, 0, fonc_thread_out, (void*)i) != 0)
	{<commit_msg>Commentaires<commit_after>#include "header.h"

void			*fonc_thread_out(void *k)
{
	(void)			k;
	s_info_trs		message;
	int				ratio_defaut;

	puts("Robot out allume\n");
	while (1)
	{
		//ssize_t msgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg);
		if (msgrcv(msgid_out, &message, sizeof(s_info_trs) - sizeof(long), 5, 0) == -1)
			error("msgrcv msgid_out");
		if (message.piece.def_out)	//si la piece est défectueuse
			ratio_defaut = 2;
		else
			ratio_defaut = 1;
		sem_post(sem_convoyeur);//capteur allume, piece n est plus sur le convoyeur
		if (sigsetjmp(contexte_sigalrm, 1) == 0)
		{
			/* premier passage, installation */
			alarm(20 * RATIO_TEMPS);//peut etre probleme car fonctionne avec sec...
			usleep((1000000 * 20 - 10000) * RATIO_TEMPS * ratio_defaut);
			alarm(0);
			puts("Ok ! Piece sur dans le depot\n");
		}
		else	//si la piece est defectueuse
		{
			/* On est arrive par SIGALRM */
			puts("\n==== Systeme en état de défaillance Robot_out! ====\n");
			puts("10s...");
			sleep(10);
			fonction_spr_sem_msg();
			exit(EXIT_FAILURE);
		}
	}
	puts("Robot out eteint\n");
	return (NULL);
}


void			creation_robot_out(void)
{
	pthread_t	thread_id;
	long		i;

	i = 0;
	if (pthread_create(&thread_id, 0, fonc_thread_out, (void*)i) != 0)	//creation du robot
	{
{'fraction_non_alphanumeric': 0.14962196577795464, 'fraction_numerical': 0.025467568643056108, 'mean_word_length': 3.5875912408759123, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5273877', 'n_tokens_mistral': 1219, 'n_tokens_neox': 1071, 'n_words': 247}