y_socket: arg_var and extern_handler to accept bash_arg

This commit is contained in:
2025-11-05 00:39:32 +01:00
parent d25ac88e15
commit 1a696234cd
3 changed files with 8 additions and 6 deletions
+3 -2
View File
@@ -55,10 +55,11 @@ struct arg_var_{
struct main_list_y_ptr_HEADER_T *m_ok_head_l_t; struct main_list_y_ptr_HEADER_T *m_ok_head_l_t;
pthread_mutex_t *mut_var; pthread_mutex_t *mut_var;
pthread_cond_t *cond_var; pthread_cond_t *cond_var;
void (*extern_socket_handler)(char*,int); void* bash_arg;
void (*extern_socket_handler)(char*,int, void*);
}; };
struct arg_var_ * create_arg_var_(void (*extern_socket_handler)(char*,int)); struct arg_var_ * create_arg_var_(void (*extern_socket_handler)(char*,int, void*), void* bash_arg);
void set_up_arg_var_init_(struct arg_var_ *var, struct y_socket_t * argSock, struct main_list_TYPE_PTR * list_arg, struct argExecTasQ *argx , struct main_list_y_ptr_HEADER_T *m_ok_head_l_t); void set_up_arg_var_init_(struct arg_var_ *var, struct y_socket_t * argSock, struct main_list_TYPE_PTR * list_arg, struct argExecTasQ *argx , struct main_list_y_ptr_HEADER_T *m_ok_head_l_t);
void free_arg_var_(struct arg_var_ *var); void free_arg_var_(struct arg_var_ *var);
void wait_var_set_up_value_not_equal(struct arg_var_ *var, int value_set_up); void wait_var_set_up_value_not_equal(struct arg_var_ *var, int value_set_up);
+4 -3
View File
@@ -12,7 +12,7 @@ void handle_input_cmd(char * buf, int buf_len, struct arg_var_ *var);
//struct y_socket_t * argSock, struct main_list_TYPE_PTR * list_arg, struct argExecTasQ *argx , struct main_list_y_ptr_HEADER_T *m_ok_head_l_t); //struct y_socket_t * argSock, struct main_list_TYPE_PTR * list_arg, struct argExecTasQ *argx , struct main_list_y_ptr_HEADER_T *m_ok_head_l_t);
struct arg_var_ * create_arg_var_(void (*extern_socket_handler)(char*,int)){ struct arg_var_ * create_arg_var_(void (*extern_socket_handler)(char*,int, void*), void *bash_arg){
struct arg_var_ * new_var=malloc(sizeof(struct arg_var_)); struct arg_var_ * new_var=malloc(sizeof(struct arg_var_));
new_var->set_up = 0; new_var->set_up = 0;
new_var->mut_var = malloc(sizeof(pthread_mutex_t)); new_var->mut_var = malloc(sizeof(pthread_mutex_t));
@@ -25,6 +25,7 @@ struct arg_var_ * create_arg_var_(void (*extern_socket_handler)(char*,int)){
new_var->argx = NULL; new_var->argx = NULL;
new_var->m_ok_head_l_t = NULL; new_var->m_ok_head_l_t = NULL;
new_var->extern_socket_handler = extern_socket_handler; new_var->extern_socket_handler = extern_socket_handler;
new_var->bash_arg=bash_arg;
return new_var; return new_var;
} }
@@ -600,7 +601,7 @@ if(buf_len>6){
} }
}else{ }else{
if(var->extern_socket_handler){ if(var->extern_socket_handler){
var->extern_socket_handler(buf,buf_len); var->extern_socket_handler(buf,buf_len,var->bash_arg);
}else{ }else{
printf("debug: No extern_socket_handler in var\n"); printf("debug: No extern_socket_handler in var\n");
} }
@@ -613,7 +614,7 @@ if(buf_len>6){
pthread_mutex_unlock(argSock->mut_go_on); pthread_mutex_unlock(argSock->mut_go_on);
}else{ }else{
if(var->extern_socket_handler){ if(var->extern_socket_handler){
var->extern_socket_handler(buf,buf_len); var->extern_socket_handler(buf,buf_len,var->bash_arg);
}else{ }else{
printf("debug: No extern_socket_handler in var\n"); printf("debug: No extern_socket_handler in var\n");
} }
+1 -1
View File
@@ -181,7 +181,7 @@ TEST(import_nodes){
TEST(pollThread){ TEST(pollThread){
struct arg_var_ * var = create_arg_var_(NULL); struct arg_var_ * var = create_arg_var_(NULL, NULL);
struct y_socket_t *argS=y_socket_create("1600", 2, 3, var); struct y_socket_t *argS=y_socket_create("1600", 2, 3, var);
pthread_t pollTh; pthread_t pollTh;