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
|
typedef struct {
char *sql_request;
} thread_req_send_args;
void *send_request_to_pub(void *arg) {
thread_req_send_args *args = (thread_req_send_args *)arg;
char *request = args->sql_request;
printf("---- req_thread : %s\n", request);
pthread_exit(NULL);
}
int main(int nbr, char* request[]) {
char request_as_arg[400];
sprintf(request_as_arg, "%s", request[1]);
struct thread_req_send_args *args = malloc(sizeof(thread_req_send_args));
args->sql_request = malloc(400);
memcpy(args->sql_request, request_as_arg, sizeof(request_as_arg));
if (pthread_create(&thread_send_to_pub, NULL, send_request_to_pub, (void *)&args) != 0) {
system("echo $(date) ': L82 - Failed to create the sending request thread' >> /home/rpiaccess/replica_log.txt");
exit(1);
}
pthread_join(thread_send_to_pub, NULL);
free(args->sql_request);
free(args);
pthread_exit(NULL);
} |
Partager