production code for item I_NONE. This tries to put products into
vec[I_NONE]. Until item.h rev. 1.12, vec[I_NONE] was unused and zero,
so it worked. Since then, it's a subscript out of bounds, clobbering
two bytes of stack. The (unpredictable) stack contents could make the
code believe that there's not enough space for the `products', which
then reduced predicted production, typically to zero.
_c_copyright_header and _ipglob_copyright_header are almost identical.
Replace by copyright_header, interpolate variable parts with printf.
(wrmakesrc, wrauth, wrgamesdef): Make generated file comments match
our usual style a bit more closely.
(wrgamesdef): Fix generated comment on overwrite.
unclear. Other programs only support -e. Remove -D.
(install_service): Remove argument datadir_set.
(main): New option -v.
(main): Exit successfully after -h.
(main): Don't print usage on unknown options, just point to -h.
(print_usage): Rewrite. Deprecate use of non-option arguments.
this hack is trying to achieve. It never worked without -d, because
mainpid got assigned the wrong pid. It doesn't make sense with recent
versions of Linux pthreads, which use the same PID for all threads, as
required by POSIX. Remove. Closes#1161397.
empth_request_shutdown,loc_BlockMainThread,empth_init,
service_ctrl_handler) [_WIN32]: Remove the Windows Build UI and
replace with Ctrl-c signal trap. The shutdown event that was used for
STOPPING the service is now used for both foreground and background
(service) modes of operation. Also move the shutdown event from service
code to empth_t library.
empire thread debugging for Windows build.
(empth_select) [_WIN32]: Fix empth_select() so can be aborted.
The bug was that a command would not be aborted during an update.
The problem was select() was not interrupt by the setting of the
signalling wakeup event. Fix by replacing the select() with
WSAEventSelect().
(empth_exit) [_WIN32]:
Fix the shutdown sequence for Windows build to be running in
empth_t context. Add a loc_RunThisThread() in empth_exit()
before starting the shutdown() sequence.
_vsnprintf from the WIN32 library for changes to logerror().
(main) [_WIN32]: Add typedef for pid_t to match WIN32 definition
for getpid(). This is required for the create_pidfile() changes.
initial patch.
(create_pidfile, pidfname): New.
(start_server): Create pid file.
(finish_server): Remove pid file.
(main) [__linux__ && _EMPTH_POSIX]: Don't hack pid into argv[0].
Recent versions of Linux pthreads no longer show multiple PIDs, and
deities can get the PID fro the pid file anyway.