NetWare specific change to increase thread stack size.
Changes to Netware specific mysqld_safe.c
This commit is contained in:
parent
fd4a040325
commit
af845f6eff
@ -92,6 +92,9 @@ extern "C" {
|
||||
/* On NetWare, stack grows towards lower address*/
|
||||
#define STACK_DIRECTION -1
|
||||
|
||||
/* On NetWare, we need to set stack size for threads, otherwise default 16K is used */
|
||||
#define NW_THD_STACKSIZE 65536
|
||||
|
||||
/* On NetWare, to fix the problem with the deletion of open files */
|
||||
#define CANT_DELETE_OPEN_FILES 1
|
||||
|
||||
|
@ -147,6 +147,15 @@ os_thread_create(
|
||||
"InnoDB: Error: pthread_attr_setstacksize returned %d\n", ret);
|
||||
exit(1);
|
||||
}
|
||||
#endif
|
||||
#ifdef __NETWARE__
|
||||
ret = pthread_attr_setstacksize(&attr,
|
||||
(size_t) NW_THD_STACKSIZE);
|
||||
if (ret) {
|
||||
fprintf(stderr,
|
||||
"InnoDB: Error: pthread_attr_setstacksize returned %d\n", ret);
|
||||
exit(1);
|
||||
}
|
||||
#endif
|
||||
os_mutex_enter(os_sync_mutex);
|
||||
os_thread_count++;
|
||||
|
@ -252,51 +252,39 @@ void finish_defaults()
|
||||
******************************************************************************/
|
||||
void read_defaults(arg_list_t *pal)
|
||||
{
|
||||
arg_list_t al;
|
||||
char defaults_file[PATH_MAX];
|
||||
char mydefaults[PATH_MAX];
|
||||
char mydefaults_command[3*PATH_MAX];
|
||||
char line[PATH_MAX];
|
||||
FILE *fp;
|
||||
|
||||
// defaults output file
|
||||
snprintf(defaults_file, PATH_MAX, "%s/bin/defaults.out", basedir);
|
||||
remove(defaults_file);
|
||||
|
||||
// mysqladmin file
|
||||
// my_print_defaults file
|
||||
snprintf(mydefaults, PATH_MAX, "%s/bin/my_print_defaults", basedir);
|
||||
|
||||
// args
|
||||
init_args(&al);
|
||||
add_arg(&al, mydefaults);
|
||||
if (default_option[0]) add_arg(&al, default_option);
|
||||
add_arg(&al, "mysqld");
|
||||
add_arg(&al, "server");
|
||||
add_arg(&al, "mysqld_safe");
|
||||
add_arg(&al, "safe_mysqld");
|
||||
|
||||
spawn(mydefaults, &al, TRUE, NULL, defaults_file, NULL);
|
||||
|
||||
free_args(&al);
|
||||
|
||||
// args to my_print_defaults
|
||||
if (default_option[0])
|
||||
{
|
||||
snprintf(mydefaults_command, 3*PATH_MAX, "%s %s mysqld server mysqld_safe safe_mysqld", mydefaults, default_option);
|
||||
}
|
||||
else
|
||||
{
|
||||
snprintf(mydefaults_command, 3*PATH_MAX, "%s mysqld server mysqld_safe safe_mysqld", mydefaults);
|
||||
}
|
||||
// gather defaults
|
||||
if((fp = fopen(defaults_file, "r")) != NULL)
|
||||
if((fp = popen(mydefaults_command, "r")) != NULL)
|
||||
{
|
||||
while(fgets(line, PATH_MAX, fp))
|
||||
{
|
||||
char *p;
|
||||
|
||||
// remove end-of-line character
|
||||
if ((p = strrchr(line, '\n')) != NULL) *p = '\0';
|
||||
if ((p = strrchr(line, '\n')) != NULL)
|
||||
*p = '\0';
|
||||
|
||||
// add the option as an argument
|
||||
add_arg(pal, line);
|
||||
}
|
||||
|
||||
fclose(fp);
|
||||
pclose(fp);
|
||||
}
|
||||
|
||||
// remove file
|
||||
remove(defaults_file);
|
||||
}
|
||||
|
||||
/******************************************************************************
|
||||
|
@ -2401,6 +2401,11 @@ You should consider changing lower_case_table_names to 1 or 2",
|
||||
thread_stack= stack_size;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
#ifdef __NETWARE__
|
||||
/* Increasing stacksize of threads on NetWare */
|
||||
|
||||
pthread_attr_setstacksize(&connection_attrib, NW_THD_STACKSIZE);
|
||||
#endif
|
||||
if (!(opt_specialflag & SPECIAL_NO_PRIOR))
|
||||
my_pthread_attr_setprio(&connection_attrib,WAIT_PRIOR);
|
||||
|
Loading…
x
Reference in New Issue
Block a user