diff --git a/Secured/secured_transaction.c b/Secured/secured_transaction.c index b8e70b0..0ba3338 100644 --- a/Secured/secured_transaction.c +++ b/Secured/secured_transaction.c @@ -63,7 +63,7 @@ void perform_transaction(int fd, int account_count) { // Calculer un montant aléatoire à transférer (max 20% du solde source) int max_transfer = from_balance / 5; if (max_transfer > 0) { - int transfer_amount = rand() % max_transfer; + int transfer_amount = rand() % max_transfer + 1; // Effectuer la transaction from_balance -= transfer_amount; @@ -89,7 +89,7 @@ void process_transactions(int transactions, int account_count) { for (int i = 0; i < transactions; i++) { perform_transaction(fd, account_count); - //usleep(rand() % 100000); // Temporisation aléatoire + usleep(rand() % 100000); // Temporisation aléatoire } close(fd); @@ -127,7 +127,8 @@ int main(int argc, char *argv[]) { int num_processes = atoi(argv[1]); int transactions_per_process = atoi(argv[2]); - srand(time(NULL)); + unsigned int seed = getpid() ^ time(NULL); + int random_value = rand_r(&seed); // Calcul du solde total initial int initial_balance = calculate_total_balance();