Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
ACS
Public
VILLASframework
VILLAScommon
Commits
c77e337a
Commit
c77e337a
authored
Dec 02, 2018
by
Steffen Vogel
🎅🏼
Browse files
do not throw dynamically allocated exceptions
parent
4dfbf8bc
Changes
7
Hide whitespace changes
Inline
Side-by-side
include/villas/cpuset.hpp
View file @
c77e337a
...
...
@@ -50,7 +50,7 @@ public:
setp
=
CPU_ALLOC
(
num_cpus
);
if
(
!
setp
)
throw
new
villas
::
RuntimeError
(
"Failed to allocated memory"
);
throw
villas
::
RuntimeError
(
"Failed to allocated memory"
);
zero
();
}
...
...
lib/cpuset.cpp
View file @
c77e337a
...
...
@@ -63,7 +63,7 @@ CpuSet::CpuSet(const std::string &str) :
start
=
std
::
stoi
(
token
,
&
endpos
);
if
(
token
.
begin
()
+
endpos
!=
token
.
end
())
throw
new
std
::
invalid_argument
(
"Not a valid CPU set"
);
throw
std
::
invalid_argument
(
"Not a valid CPU set"
);
if
(
start
<
num_cpus
)
set
(
start
);
...
...
@@ -72,14 +72,14 @@ CpuSet::CpuSet(const std::string &str) :
start
=
std
::
stoi
(
token
,
&
endpos
);
if
(
token
.
begin
()
+
endpos
!=
token
.
begin
()
+
sep
)
throw
new
std
::
invalid_argument
(
"Not a valid CPU set"
);
throw
std
::
invalid_argument
(
"Not a valid CPU set"
);
auto
token2
=
token
.
substr
(
endpos
+
1
);
end
=
std
::
stoi
(
token2
,
&
endpos
);
if
(
token2
.
begin
()
+
endpos
!=
token2
.
end
())
throw
new
std
::
invalid_argument
(
"Not a valid CPU set"
);
throw
std
::
invalid_argument
(
"Not a valid CPU set"
);
for
(
size_t
i
=
start
;
i
<=
end
&&
i
<
num_cpus
;
i
++
)
set
(
i
);
...
...
lib/kernel/kernel.cpp
View file @
c77e337a
...
...
@@ -32,7 +32,7 @@ Version villas::kernel::getVersion()
struct
utsname
uts
;
if
(
uname
(
&
uts
)
<
0
)
throw
new
SystemError
(
"Failed to retrieve system identification"
);
throw
SystemError
(
"Failed to retrieve system identification"
);
std
::
string
rel
=
uts
.
release
;
...
...
lib/kernel/rt.cpp
View file @
c77e337a
...
...
@@ -85,7 +85,7 @@ int lockMemory()
#ifdef _POSIX_MEMLOCK
ret
=
mlockall
(
MCL_CURRENT
|
MCL_FUTURE
);
if
(
ret
)
throw
new
SystemError
(
"Failed to lock memory"
);
throw
SystemError
(
"Failed to lock memory"
);
#endif
return
0
;
...
...
@@ -117,7 +117,7 @@ int setAffinity(int affinity)
ret
=
sched_setaffinity
(
0
,
cset_pin
.
size
(),
cset_pin
);
if
(
ret
)
throw
new
SystemError
(
"Failed to set CPU affinity to {}"
,
(
std
::
string
)
cset_pin
);
throw
SystemError
(
"Failed to set CPU affinity to {}"
,
(
std
::
string
)
cset_pin
);
logger
->
debug
(
"Set affinity to {}"
,
(
std
::
string
)
cset_pin
);
...
...
@@ -133,7 +133,7 @@ int setPriority(int priority)
ret
=
sched_setscheduler
(
0
,
SCHED_FIFO
,
&
param
);
if
(
ret
)
throw
new
SystemError
(
"Failed to set real time priority"
);
throw
SystemError
(
"Failed to set real time priority"
);
logger
->
debug
(
"Task priority set to {}"
,
priority
);
...
...
lib/log.cpp
View file @
c77e337a
...
...
@@ -90,7 +90,7 @@ void Log::parse(json_t *cfg)
"pattern"
,
&
pattern
);
if
(
ret
)
throw
new
JsonError
(
err
);
throw
JsonError
(
err
);
if
(
level
)
setLevel
(
level
);
...
...
@@ -109,7 +109,7 @@ void Log::parse(json_t *cfg)
if
(
json_expressions
)
{
if
(
!
json_is_array
(
json_expressions
))
throw
new
ConfigError
(
json_expressions
,
"node-config.html#node-config-logging-expressions"
,
"The 'expressions' setting must be a list of objects."
);
throw
ConfigError
(
json_expressions
,
"node-config.html#node-config-logging-expressions"
,
"The 'expressions' setting must be a list of objects."
);
size_t
i
;
json_t
*
json_expression
;
...
...
@@ -122,7 +122,7 @@ void Log::parse(json_t *cfg)
"level"
,
&
lvl
);
if
(
ret
)
throw
new
JsonError
(
err
);
throw
JsonError
(
err
);
Logger
logger
=
get
(
name
);
auto
level
=
spdlog
::
level
::
from_str
(
lvl
);
...
...
lib/terminal.cpp
View file @
c77e337a
...
...
@@ -45,12 +45,12 @@ Terminal::Terminal()
ret
=
sigaction
(
SIGWINCH
,
&
sa_resize
,
NULL
);
if
(
ret
)
throw
new
SystemError
(
"Failed to register signal handler"
);
throw
SystemError
(
"Failed to register signal handler"
);
/* Try to get initial terminal dimensions */
ret
=
ioctl
(
STDERR_FILENO
,
TIOCGWINSZ
,
&
window
);
if
(
ret
)
throw
new
SystemError
(
"Failed to get terminal dimensions"
);
throw
SystemError
(
"Failed to get terminal dimensions"
);
}
/* Fallback if for some reason we can not determine a prober window size */
...
...
@@ -67,7 +67,7 @@ void Terminal::resize(int, siginfo_t *, void *)
ret
=
ioctl
(
STDERR_FILENO
,
TIOCGWINSZ
,
&
window
);
if
(
ret
)
throw
new
SystemError
(
"Failed to get terminal dimensions"
);
throw
SystemError
(
"Failed to get terminal dimensions"
);
Logger
logger
=
logging
.
get
(
"terminal"
);
...
...
lib/version.cpp
View file @
c77e337a
...
...
@@ -36,14 +36,14 @@ Version::Version(const std::string &str)
auto
comp
=
tokenize
(
str
,
"."
);
if
(
comp
.
size
()
>
3
)
throw
new
std
::
invalid_argument
(
"Not a valid version string"
);
throw
std
::
invalid_argument
(
"Not a valid version string"
);
for
(
unsigned
i
=
0
;
i
<
3
;
i
++
)
{
if
(
i
<
comp
.
size
())
{
components
[
i
]
=
std
::
stoi
(
comp
[
i
],
&
endpos
,
10
);
if
(
comp
[
i
].
begin
()
+
endpos
!=
comp
[
i
].
end
())
throw
new
std
::
invalid_argument
(
"Not a valid version string"
);
throw
std
::
invalid_argument
(
"Not a valid version string"
);
}
else
components
[
i
]
=
0
;
...
...
Write
Preview
Supports
Markdown
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