33 lines
607 B
Plaintext
33 lines
607 B
Plaintext
== Why is this an issue?
|
|
|
|
include::../description.adoc[]
|
|
|
|
=== Noncompliant code example
|
|
|
|
[source,kotlin]
|
|
----
|
|
fun main() {
|
|
System.runFinalizersOnExit(true) // Noncompliant
|
|
}
|
|
----
|
|
|
|
|
|
=== Compliant solution
|
|
|
|
[source,kotlin]
|
|
----
|
|
fun main() {
|
|
Runtime.getRuntime().addShutdownHook(object : Thread() {
|
|
override fun run() {
|
|
doSomething()
|
|
}
|
|
})
|
|
}
|
|
----
|
|
|
|
|
|
== Resources
|
|
|
|
* https://wiki.sei.cmu.edu/confluence/x/4jZGBQ[CERT, MET12-J.] - Do not use finalizers. Although this resource talks about Java, the underlying information concerning the JVM are just as relevant for Kotlin.
|
|
|