Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
MariaDB
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
nexedi
MariaDB
Commits
2a00611f
Commit
2a00611f
authored
Aug 09, 2005
by
reggie@linux.site
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
changes to IM that came from Petr and JimW's review.
parent
633e62bd
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
41 additions
and
63 deletions
+41
-63
server-tools/instance-manager/IMService.cpp
server-tools/instance-manager/IMService.cpp
+3
-3
server-tools/instance-manager/mysqlmanager.cc
server-tools/instance-manager/mysqlmanager.cc
+7
-8
server-tools/instance-manager/options.cc
server-tools/instance-manager/options.cc
+31
-52
No files found.
server-tools/instance-manager/IMService.cpp
View file @
2a00611f
...
...
@@ -50,7 +50,7 @@ int HandleServiceOptions(Options options)
else
{
log_info
(
"Service failed to install
\n
"
);
ret_val
=
-
1
;
ret_val
=
1
;
}
}
else
if
(
options
.
remove_service
)
...
...
@@ -62,10 +62,10 @@ int HandleServiceOptions(Options options)
else
{
log_info
(
"Service failed to remove
\n
"
);
ret_val
=
-
1
;
ret_val
=
1
;
}
}
else
ret
urn
(
int
)
winService
.
Init
()
;
ret
_val
=
winService
.
Init
()
?
0
:
1
;
return
ret_val
;
}
server-tools/instance-manager/mysqlmanager.cc
View file @
2a00611f
...
...
@@ -79,6 +79,7 @@ int HandleServiceOptions(Options options);
int
main
(
int
argc
,
char
*
argv
[])
{
int
return_value
=
1
;
init_environment
(
argv
[
0
]);
Options
options
;
struct
passwd
*
user_info
;
...
...
@@ -90,10 +91,7 @@ int main(int argc, char *argv[])
if
((
user_info
=
check_user
(
options
.
user
)))
{
if
(
set_user
(
options
.
user
,
user_info
))
{
options
.
cleanup
();
goto
err
;
}
}
if
(
options
.
run_as_service
)
...
...
@@ -105,17 +103,18 @@ int main(int argc, char *argv[])
}
#else
#ifdef NDEBUG
return
HandleServiceOptions
(
options
);
return_value
=
HandleServiceOptions
(
options
);
goto
err
;
/* this is not always an error but we reuse the label */
#endif
#endif
manager
(
options
);
options
.
cleanup
();
my_end
(
0
);
return
0
;
return_value
=
0
;
err:
options
.
cleanup
();
my_end
(
0
);
return
1
;
return
return_value
;
}
/******************* Auxilary functions implementation **********************/
...
...
server-tools/instance-manager/options.cc
View file @
2a00611f
...
...
@@ -30,18 +30,20 @@
#define QUOTE2(x) #x
#define QUOTE(x) QUOTE2(x)
const
char
*
default_password_file_name
=
QUOTE
(
DEFAULT_PASSWORD_FILE_NAME
);
const
char
*
default_log_file_name
=
QUOTE
(
DEFAULT_LOG_FILE_NAME
);
#ifdef __WIN__
char
windows_config_file
[
FN_REFLEN
];
char
Options
::
install_as_service
;
char
Options
::
remove_service
;
char
windows_config_file
[
FN_REFLEN
];
char
default_password_file_name
[
FN_REFLEN
];
char
default_log_file_name
[
FN_REFLEN
];
const
char
*
Options
::
config_file
=
windows_config_file
;
#else
char
Options
::
run_as_service
;
const
char
*
Options
::
user
=
0
;
/* No default value */
#endif
const
char
*
default_password_file_name
=
QUOTE
(
DEFAULT_PASSWORD_FILE_NAME
);
const
char
*
default_log_file_name
=
QUOTE
(
DEFAULT_LOG_FILE_NAME
);
const
char
*
Options
::
config_file
=
QUOTE
(
DEFAULT_CONFIG_FILE
);
#endif
const
char
*
Options
::
log_file_name
=
default_log_file_name
;
const
char
*
Options
::
pid_file_name
=
QUOTE
(
DEFAULT_PID_FILE_NAME
);
const
char
*
Options
::
socket_file_name
=
QUOTE
(
DEFAULT_SOCKET_FILE_NAME
);
...
...
@@ -51,7 +53,7 @@ const char *Options::bind_address= 0; /* No default value */
uint
Options
::
monitoring_interval
=
DEFAULT_MONITORING_INTERVAL
;
uint
Options
::
port_number
=
DEFAULT_PORT
;
/* just to declare */
char
**
Options
::
saved_argv
;
char
**
Options
::
saved_argv
=
NULL
;
/*
List of options, accepted by the instance manager.
...
...
@@ -262,30 +264,8 @@ int Options::load(int argc, char **argv)
}
#ifdef __WIN__
setup_windows_defaults
(
*
argv
);
/*
On Windows, there are two possibilities. Either we are given
a defaults file on the command line or we use the my.ini file
that is in our app dir
*/
if
(
Options
::
config_file
==
NULL
)
{
char
*
filename
;
static
const
char
default_win_config_file_name
[]
=
"
\\
my.ini"
;
if
(
!
GetModuleFileName
(
NULL
,
windows_config_file
,
sizeof
(
windows_config_file
)))
goto
err
;
filename
=
strrchr
(
windows_config_file
,
"
\\
"
);
/*
Don't check for the overflow as strlen("\\my.ini") is less
then strlen("mysqlmanager") (the binary name)
*/
strcpy
(
filename
,
default_win_config_file_name
);
Options
::
config_file
=
windows_config_file
;
}
if
(
setup_windows_defaults
())
goto
err
;
#endif
/* config-file options are prepended to command-line ones */
...
...
@@ -305,33 +285,32 @@ int Options::load(int argc, char **argv)
void
Options
::
cleanup
()
{
/* free_defaults returns nothing */
free_defaults
(
Options
::
saved_argv
);
#ifdef __WIN__
free
((
char
*
)
default_password_file_name
);
#endif
if
(
Options
::
saved_argv
!=
NULL
)
free_defaults
(
Options
::
saved_argv
);
}
#ifdef __WIN__
char
*
change_extension
(
const
char
*
src
,
const
char
*
newext
)
void
Options
::
setup_windows_defaults
(
)
{
char
*
dot
=
(
char
*
)
strrchr
(
src
,
'.'
);
if
(
!
dot
)
return
(
char
*
)
src
;
int
newlen
=
dot
-
src
+
strlen
(
newext
)
+
1
;
char
*
temp
=
(
char
*
)
malloc
(
newlen
);
bzero
(
temp
,
newlen
);
strncpy
(
temp
,
src
,
dot
-
src
+
1
);
strcat
(
temp
,
newext
);
return
temp
;
}
void
Options
::
setup_windows_defaults
(
const
char
*
progname
)
{
Options
::
password_file_name
=
default_password_file_name
=
change_extension
(
progname
,
"passwd"
);
Options
::
log_file_name
=
default_log_file_name
=
change_extension
(
progname
,
"log"
);
if
(
!
GetModuleFileName
(
NULL
,
default_password_file_name
,
sizeof
(
default_password_file_name
)))
return
-
1
;
char
*
filename
=
strstr
(
default_password_file_name
,
".exe"
);
strcpy
(
filename
,
".passwd"
);
if
(
!
GetModuleFileName
(
NULL
,
default_log_file_name
,
sizeof
(
default_log_file_name
)))
return
-
1
;
filename
=
strstr
(
default_log_file_name
,
".exe"
);
strcpy
(
filename
,
".log"
);
if
(
!
GetModuleFileName
(
NULL
,
windows_config_file
,
sizeof
(
windows_config_file
)))
return
-
1
;
char
*
slash
=
strrchr
(
windows_config_file
,
'\\'
);
strcpy
(
slash
,
"
\\
my.ini"
);
return
0
;
}
#endif
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment