@rfc2822 I’m fully with you that processes can be killed by the system. And you’re right - I should have been more precise when writing that “davdroid does not start again” I meant “does not start again and is not started again” - opposite to other processes.
As you seem to know Android much better than me it would have been great to provide some hints to debug that situation better.
Nevertheless it seems that I have found the cause for my not-synchronizing my calendars:
Android (or should I say Google?) checks the internet-connectivity with it’s so-called “captive portal detection”.
Whenever the network state changes, Android sends requests to different google servers.
When these requests are answered by a login page (instead of the expected google-answer), Android presumes that you need to login somewhere to enable internet connectivity.
If no connection can be enabled - for example because “captive portal” is blocked by a firewall - Android thinks that the internet is not reachable and shows this with a little “x” near the wifi-connection symbol. (And sometimes ask you whether you want to continue using that connection.)
When Android thinks that there is no internet connection, it disables a diversity of other services - seemingly also synchronisation tasks.
On rooted phones you can switch off the “captive portal service” by issuing this command:
settings put global captive_portal_detection_enabled 0
via root shell or adb root shell (the local shell sometimes needs two “su”).
See also: https://android.stackexchange.com/questions/100657/how-to-disable-captive-portal-detection-how-to-remove-exclamation-mark-on-wi-fi
Since inssuing this command, my calendars get synchronized again.