mastodontech.de ist einer von vielen unabhängigen Mastodon-Servern, mit dem du dich im Fediverse beteiligen kannst.
Offen für alle (über 16) und bereitgestellt von Markus'Blog

Serverstatistik:

1,5 Tsd.
aktive Profile

#semaphore

0 Beiträge0 Beteiligte0 Beiträge heute

I finally eliminated the need for a dedicated #thread controlling the pam helper #process in #swad. 🥳

The building block that was still missing from #poser was a way to await some async I/O task performed on the main thread from a worker thread. So I added a class to allow exactly that. The naive implementation just signals the main thread to carry out the requested task and then waits on a #semaphore for completion, which of course blocks the worker thread.

Turns out we can actually do better, reaching similar functionality like e.g. #async / #await in C#: Release the worker thread to do other jobs while waiting. The key to this is user context switching support like offered by #POSIX-1.2001 #getcontext and friends. Unfortunately it was deprecated in POSIX-1.2008 without an obvious replacement (the docs basically say "use threads", which doesn't work for my scenario), but still lots of systems provide it, e.g. #FreeBSD, #NetBSD, #Linux (with #glibc) ...

The posercore lib now offers both implementations, prefering to use user context switching if available. It comes at a price: Every thread job now needs its private stack space (I allocated 64kiB there for now), and of course the switching takes some time as well, but that's very likely better than leaving a task idle waiting. And there's a restriction, resuming must still happen on the same thread that called the "await", so if this thread is currently busy, we have to wait a little bit longer. I still think it's a very nice solution. 😎

In any case, the code for the PAM credential checker module looks much cleaner now (the await "magic" happens on line 174):
github.com/Zirias/swad/blob/57

GitHubswad/src/bin/swad/cred/pamchecker.c at 57eefe93cdad0df55ebede4bd877d22e7be1a7f8 · Zirias/swadSimple Web Authentication Daemon. Contribute to Zirias/swad development by creating an account on GitHub.
Fortgeführter Thread

Nice, #threadpool overhaul done. Removed two locks (#mutex) and two condition variables, replaced by a single lock and a single #semaphore. 😎 Simplifies the overall structure a lot, and it's probably safe to assume slightly better performance in contended situations as well. And so far, #valgrind's helgrind tool doesn't find anything to complain about. 🙃

Looking at the screenshot, I should probably make #swad default to *two* threads per CPU and expose the setting in the configuration file. When some thread jobs are expected to block, having more threads than CPUs is probably better.

github.com/Zirias/poser/commit

I'm trying to figure things out and also see how I can search for and follow people and tags, since I can't do it from the main blob.cat site. That said, there does appear to be two different interfaces! One is blob.fe and the other is blab.fe. I don't really understand this yet, but I'm sure I will in time. Perhaps, one is the main Akkoma setting. That said, while TweeseCake is fully functional, Enafore, Semaphore, and Elk.zone all seem to be down. They all send the request to blob.cat, and I am able to authorise it, but I can't post anything or see anything related to Notifications, my profile, etc. I would expect this from Semaphore, as it's older, but Enafore is its direct replacement, so I'm not sure why it doesn't work. Elk.zone says right on the page that it's experimental, so again, I am not surprised there.

#acccessibility #Akkoma #blob.cat #Elk.Zone #Enafore #Fediverse #fediverse #Friendica #NVDA #ScreenReaders #Semaphore #TweeseCake
blob.catAkkoma

Absolutely loving my Social Media life these days.
As I say to many, your mileage may differ. I think it all comes down to who you chose to engage with, and the topics you reply to.
We all have the choice to be on certain services and not on others. We should all abide and respect the choices others make in this regard.

My main Social Media area these days is the Fediverse, particularly through a GoToSocial ActivityPub instance named Polymaths.social. Wonderful software, instance, admin, and neighbours!
Since 2009 I was on a Mastodon instance named LinuxRocks.online. It started off really well with good chats on the local timeline. However, over the past year certain people and their followers came in, the local chats got strained, and quite painful at times, and I knew I needed to move on. I was friendly with the owner, and moderators, but the time had come.

To access Polymaths.social I use Phanpy on a browser, and Tusky on my Android Phone.
For browser access I did use Semaphore for a while. Very clean and effective, but Phanpy is like KDE vs Mate. To me this is a good thing. I do use Semaphore at times to check on Follow Requests and to currently "Delete and Redraft" as needed.

Telegram is a large part of my life. I use it to talk with many friends, including Arianna and my Sister Catriona, podcrawl and Linux groups, as well as my own Christian group.

I'm still on Facebook, and yes I question that daily.
For now I am there.
As I said at the start, this is my choice, and I am there for really good friends, family, and groups.

A few weeks ago I activated my Instagram account, which had been set up for no follows and privates, just so I could view content as needed.
I was getting so many requests from good friends if I was on there, and ok... "caved in", but my involvement is relatively minimal. Mostly posting my own photos and commenting on those of friends.

Well, that's my online life, and it is good.
Feel free to reply back with questions, and DM as needed.

#SocialMedia #Fediverse #GoToSocial #Mastodon #ActivityPub #Phanpy #Tusky #Semaphore #Telegram #Facebook #Instagram

Antwortete im Thread

@sebsauvage #Semaphore (interface web, pas d'appli) fait un peu ça, de la récupération partielle avec un "trou" dans la timeline entre , par exemple, les derniers pouets de la veille et le "premier paquet" du matin.
Mais il n'y a pas l'affichage de la durée du trou, il faut regarder les dates de publication des messages...