~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to sql/mysqld.cc

  • Committer: Brian Aker
  • Date: 2008-06-29 18:24:06 UTC
  • Revision ID: brian@tangent.org-20080629182406-92tf19esw206cs2k
Removing old UNIX socket bits

Show diffs side-by-side

added added

removed removed

Lines of Context:
417
417
uint mysql_data_home_len;
418
418
char mysql_data_home_buff[2], *mysql_data_home=mysql_real_data_home;
419
419
char server_version[SERVER_VERSION_LENGTH];
420
 
char *mysqld_unix_port, *opt_mysql_tmpdir;
 
420
char *opt_mysql_tmpdir;
421
421
const char **errmesg;                   /**< Error messages */
422
422
const char *myisam_recover_options_str="OFF";
423
423
const char *myisam_stats_method_str="nulls_unequal";
479
479
pthread_cond_t COND_refresh, COND_thread_count, COND_global_read_lock;
480
480
pthread_t signal_thread;
481
481
pthread_attr_t connection_attrib;
482
 
pthread_mutex_t  LOCK_server_started;
483
482
pthread_cond_t  COND_server_started;
484
483
 
485
 
int mysqld_server_started= 0;
486
 
 
487
484
/* replication parameters, if master_host is not NULL, we are a slave */
488
485
uint report_port= MYSQL_PORT;
489
486
ulong master_retry_count=0;
508
505
static char **defaults_argv;
509
506
static char *opt_bin_logname;
510
507
 
511
 
static my_socket unix_sock,ip_sock;
 
508
static my_socket ip_sock;
512
509
struct rand_struct sql_rand; ///< used by sql_class.cc:THD::THD()
513
510
 
514
511
struct passwd *user_info;
541
538
static int init_thread_environment();
542
539
static char *get_relative_path(const char *path);
543
540
static void fix_paths(void);
544
 
pthread_handler_t handle_connections_sockets(void *arg);
 
541
void handle_connections_sockets();
545
542
pthread_handler_t kill_server_thread(void *arg);
546
543
static void bootstrap(FILE *file);
547
544
static bool read_init_file(char *file_name);
1047
1044
    if ((env = getenv("MYSQL_TCP_PORT")))
1048
1045
      mysqld_port= (uint) atoi(env);            /* purecov: inspected */
1049
1046
  }
1050
 
  if (!mysqld_unix_port)
1051
 
  {
1052
 
    mysqld_unix_port= (char*) MYSQL_UNIX_ADDR;
1053
 
    if ((env = getenv("MYSQL_UNIX_PORT")))
1054
 
      mysqld_unix_port= env;                    /* purecov: inspected */
1055
 
  }
1056
1047
}
1057
1048
 
1058
1049
/* Change to run as another user if started with --user */
2504
2495
  (void) pthread_mutex_init(&LOCK_rpl_status, MY_MUTEX_INIT_FAST);
2505
2496
  (void) pthread_cond_init(&COND_rpl_status, NULL);
2506
2497
#endif
2507
 
  (void) pthread_mutex_init(&LOCK_server_started, MY_MUTEX_INIT_FAST);
2508
 
  (void) pthread_cond_init(&COND_server_started,NULL);
2509
2498
 
2510
2499
  /* Parameter for threads created for connections */
2511
2500
  (void) pthread_attr_init(&connection_attrib);
3032
3021
  create_maintenance_thread();
3033
3022
 
3034
3023
  sql_print_information(ER(ER_STARTUP),my_progname,server_version,
3035
 
                        ((unix_sock == INVALID_SOCKET) ? (char*) ""
3036
 
                                                       : mysqld_unix_port),
3037
 
                         mysqld_port,
3038
 
                         MYSQL_COMPILATION_COMMENT);
3039
 
 
3040
 
 
3041
 
  /* Signal threads waiting for server to be started */
3042
 
  pthread_mutex_lock(&LOCK_server_started);
3043
 
  mysqld_server_started= 1;
3044
 
  pthread_cond_signal(&COND_server_started);
3045
 
  pthread_mutex_unlock(&LOCK_server_started);
3046
 
 
3047
 
  handle_connections_sockets(0);
 
3024
                        "", mysqld_port, MYSQL_COMPILATION_COMMENT);
 
3025
 
 
3026
 
 
3027
  handle_connections_sockets();
3048
3028
 
3049
3029
  /* (void) pthread_attr_destroy(&connection_attrib); */
3050
3030
  
3277
3257
 
3278
3258
        /* Handle new connections and spawn new process to handle them */
3279
3259
 
3280
 
pthread_handler_t handle_connections_sockets(void *arg __attribute__((unused)))
 
3260
void handle_connections_sockets()
3281
3261
{
3282
3262
  my_socket sock,new_sock;
3283
3263
  uint error_count=0;
3284
 
  uint max_used_connection= (uint) (max(ip_sock,unix_sock)+1);
 
3264
  uint max_used_connection= (uint)ip_sock+1;
3285
3265
  fd_set readFDs,clientFDs;
3286
3266
  THD *thd;
3287
3267
  struct sockaddr_storage cAddr;
3288
3268
  int ip_flags=0, flags;
3289
3269
  st_vio *vio_tmp;
3290
 
  DBUG_ENTER("handle_connections_sockets");
3291
3270
 
3292
3271
  FD_ZERO(&clientFDs);
3293
3272
  if (ip_sock != INVALID_SOCKET)
3389
3368
      VOID(closesocket(new_sock));
3390
3369
      continue;
3391
3370
    }
3392
 
    if (!(vio_tmp=vio_new(new_sock,
3393
 
                          sock == unix_sock ? VIO_TYPE_SOCKET :
3394
 
                          VIO_TYPE_TCPIP,
3395
 
                          sock == unix_sock ? VIO_LOCALHOST: 0)) ||
 
3371
    if (!(vio_tmp=vio_new(new_sock, VIO_TYPE_TCPIP, sock == 0)) ||
3396
3372
        my_net_init(&thd->net,vio_tmp))
3397
3373
    {
3398
3374
      /*
3410
3386
      delete thd;
3411
3387
      continue;
3412
3388
    }
3413
 
    if (sock == unix_sock)
3414
 
      thd->security_ctx->host=(char*) my_localhost;
3415
3389
 
3416
3390
    create_new_thread(thd);
3417
3391
  }
3418
 
 
3419
 
  DBUG_RETURN(0);
3420
3392
}
3421
3393
 
3422
3394
 
4016
3988
  {"slow-query-log", OPT_SLOW_LOG,
4017
3989
   "Enable|disable slow query log", (uchar**) &opt_slow_log,
4018
3990
   (uchar**) &opt_slow_log, 0, GET_BOOL, OPT_ARG, 0, 0, 0, 0, 0, 0},
4019
 
  {"socket", OPT_SOCKET, "Socket file to use for connection.",
4020
 
   (uchar**) &mysqld_unix_port, (uchar**) &mysqld_unix_port, 0, GET_STR,
4021
 
   REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
4022
3991
#ifdef HAVE_REPLICATION
4023
3992
  {"sporadic-binlog-dump-fail", OPT_SPORADIC_BINLOG_DUMP_FAIL,
4024
3993
   "Option used by mysql-test for debugging and testing of replication.",
4793
4762
  mysqld_user= mysqld_chroot= opt_init_file= opt_bin_logname = 0;
4794
4763
  prepared_stmt_count= 0;
4795
4764
  errmesg= 0;
4796
 
  mysqld_unix_port= opt_mysql_tmpdir= my_bind_addr_str= NullS;
 
4765
  opt_mysql_tmpdir= my_bind_addr_str= NullS;
4797
4766
  bzero((uchar*) &mysql_tmpdir_list, sizeof(mysql_tmpdir_list));
4798
4767
  bzero((char *) &global_status_var, sizeof(global_status_var));
4799
4768
  opt_large_pages= 0;
4814
4783
  slave_exec_mode_options= (uint)
4815
4784
    find_bit_type_or_exit(slave_exec_mode_str, &slave_exec_mode_typelib, NULL);
4816
4785
  opt_specialflag= SPECIAL_ENGLISH;
4817
 
  unix_sock= ip_sock= INVALID_SOCKET;
 
4786
  ip_sock= INVALID_SOCKET;
4818
4787
  mysql_home_ptr= mysql_home;
4819
4788
  pidfile_name_ptr= pidfile_name;
4820
4789
  log_error_file_ptr= log_error_file;