]> Kevux Git Server - controller/commit
Progress: Continue migrating the project, updating documentation and fixing some...
authorKevin Day <Kevin@kevux.org>
Thu, 11 Jul 2024 05:48:49 +0000 (00:48 -0500)
committerKevin Day <Kevin@kevux.org>
Thu, 11 Jul 2024 05:48:49 +0000 (00:48 -0500)
commitb3b7abaf7bd9c0dc0138f651fc534e1671b99254
treedc51496270ff64075f3f113e8c3517670e2dd09d
parent1a3e781c12c8d43211e325825ee5aa3a96580e98
Progress: Continue migrating the project, updating documentation and fixing some bugs.

Update the specifications and documentation.

Drop the "/var" default in "/var/run" to just be "/run".
This is nice and newer systems are following this.

The process flags should actually be on a flag variable inside the process structure.
This flag variable got lost in migration and is now back.

Provide additional lock structural changes.
Make stronger attempts to re-establish the read locks.
(There will likely be more updates to follow regarding F_lock_read and F_lock_write.)

The need to release a read lock to get a write lock within the same thread is unideal.
I do not like how this is.
It has probably annoyed me in the past and it annoys me yet again.
The POSIX thread documentation man pages are quite lacking in some critical information in this area.
I will have to do a lot of research.
Maybe at some point in the future I might depend on a different threading system that is more sane.

I accidentally had the instance action lock being locked when the regular instance lock should be grabbed.
This caused the utility execution (or anything that executes based on a PID file) to just sit there after the first run.
This is a migration mistake that is now fixed.

I did notice that on PID file error this thread still does not exit but the 0.6 version does exit.
This is likely another migration bug that needs to be fixed.
Or this is a problem resulting from adding the F_lock_read and F_lock_write return values without getting the time to go and have the callers expect this return result.

Add some new functions for returning a pointer so that I can make the pointer a constant in the execute functions.
20 files changed:
documents/entry.txt
documents/exit.txt
documents/readme.bootstrap.txt [deleted file]
documents/readme.build.txt
documents/readme.txt
documents/time.txt [deleted file]
sources/c/init/string.h
sources/c/main/common/type/process.h
sources/c/main/entry/process.c
sources/c/main/instance/prepare.c
sources/c/main/instance/prepare.h
sources/c/main/lock.c
sources/c/main/lock.h
sources/c/main/perform.c
sources/c/main/rule/execute.c
sources/c/main/rule/execute.h
sources/c/main/rule/instance.c
sources/c/main/rule/wait.c
sources/c/main/thread/entry.c
specifications/time.txt [deleted file]