[Citadel Development] Re: IMAP Flags branch?

2023-09-02 Thread HarlowSolutions
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.

2023-09-02 Thread IGnatius T Foobar
 >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

2023-09-02 Thread rss





[Citadel Development] Re: Removed background and restart from citserver.

2023-09-02 Thread LadySerenaKitty


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.

2023-09-02 Thread LadySerenaKitty


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.