getS16NoEx() returns true unless syntactical error in conf. (#8304)
authorsofar <sofar+github@foo-projects.org>
Tue, 5 Mar 2019 07:11:13 +0000 (23:11 -0800)
committerLoïc Blot <nerzhul@users.noreply.github.com>
Tue, 5 Mar 2019 07:11:13 +0000 (08:11 +0100)
commit61e5fbab721898a431b15a5a7e24efb58cd80eb4
treec6a8fa1193434c142cd6dd688228a41bcc32a525
parent51662dabb4ba38ea1ec027d907fb2d5f4e0412ad
getS16NoEx() returns true unless syntactical error in conf. (#8304)

The getS16NoEx() handler will return true unless there is a
`[num_emerge_threads]` line in the `minetest.conf` at which
point the excption handler part is reached. Due to the fact that
`defaultsettings.cpp` has a default value set for this setting,
that never will happen.

Because of this, the code will never check the number of threads on
the system, and keep `nthreads = 0`. If that happens, the value is
changed to `1` and only 1 emerge thread will be used.

The default should be set to `1` instead, due to the potential unsafe
consequences for the standard sqlite map files, but that should be a
separate commit that also adds documentation for that setting. This
commit focuses on removing this `hiding` bug instead.
src/emerge.cpp