[Citadel Development] Re: IMAP Flags branch?
Sorry. I have been sidetracked for about a month with work and life. Going from upgrading the database to supporting multiple versions of the Visit records required some thought and will require rework of a lot of the implementation. I had optimized a lot assuming the database was at one Visit version, so handling different versions requires changes to the logic and functions calls to keep it optimized. I also re-thank the implementation of the Recent flag. I ended up removing the branch since I needed to redo a lot and there were a lot of changes to the repository, so merging was getting out of hand. I will be having a little more time now, so I will be going back to implement the flags.
[Citadel Development] Re: Removed background and restart from citserver.
>The rc system fully detaches it from the entire call stack, in the >end it just looks like init ran the daemon. The rc system is really >just a series of shell scripts, nothing too fancy. That's why PID >files are so important, the rc system uses those to figure out which >PID to send signals to. Cool. Give the new version a try and let me know how it works for you. We don't have the ability to auto-background anymore, but we can still write a PID file. SIGTERM and SIGINT will make the server shut itself down cleanly, and it does so much faster now. SIGKILL and SIGQUIT will make the server exit abruptly, and as previously noted, it doesn't seem to corrupt the db anymore when you do this.
[Citadel Development] Release version 992 generated by do-release.sh
[Citadel Development] Re: Removed background and restart from citserver.
The rc system fully detaches it from the entire call stack, in the end it just looks like init ran the daemon. The rc system is really just a series of shell scripts, nothing too fancy. That's why PID files are so important, the rc system uses those to figure out which PID to send signals to. Fri Sep 01 2023 16:40:26 EDT from IGnatius T Foobar Subject: Re: Removed background and restart from citserver. I have to go examine other BSD rc scripts, but I'm guessing they simply do "&" to put a process in the background, and then they keep track of the pid so they can SIGTERM it later.
[Citadel Development] Re: Removed background and restart from citserver.
FreeBSD's in-base (default) compiler is clang. Moving all of base from gcc to clang was a monumental effort. Fri Sep 01 2023 23:30:53 EDT from IGnatius T Foobar Subject: Re: Removed background and restart from citserver. All righty then. The current code in git master is running on FreeBSD. Here's the deal: 1. You need ldap client library (`pkg install openldap26-client`) even if you aren't using LDAP 2. `gmake` and `gcc` are required. It won't build with whatever FreeBSD is using natively. 3. The configure script now detects whether it needs `-lresolv` and/or `-lintl` automatically 4. We now omit the `chkpw` and `chkpwd` programs on systems where they won't work. I'd actually like to remove system auth completely but I don't know if anyone is using it. On my FreeBSD system I was able to get the server running and I ran the new `loadtest` utility with a few dozen threads beating the crap out of it. I abruptly killed the server with SIGKILL and SIGQUIT numerous times, during periods of high write activity, and even under the worst conditions it did not corrupt the database. Looking really good here.