Go to file
Simon Ser 9ef2a57b51 worker/types: fix Worker.Callbacks race condition
Worker.Process* functions were called in different goroutines than
Worker.Post*. Protect the map with a mutex. Also make the map unexported to
prevent external unprotected accesses.

Worker.Process* functions used to delete items from the map. However they
didn't delete the element they retrieved: callbacks[msg.InResponseTo()] was
read while callbacks[msg] was deleted. I'm not sure I understand why. I tried
to delete the element that was accessed - but this broke everything (UI froze
at "Connecting..."). I don't believe any elements were actually removed from
the map, so the new code just doesn't remove anything.
2019-04-27 14:28:26 -04:00
commands Fix segfault on :select-message for unloaded messages 2019-04-17 20:02:12 -04:00
config Use better regex for identifying patches 2019-03-31 16:48:05 -04:00
contrib Add script for sandboxing w3m 2019-03-31 15:33:07 -04:00
lib Make message viewer real, part two 2019-03-31 12:35:51 -04:00
widgets widgets/spinner: fix Spinner.frame race 2019-04-27 11:42:12 -04:00
worker worker/types: fix Worker.Callbacks race condition 2019-04-27 14:28:26 -04:00
.gitignore Initialize worker in account widget 2019-01-13 13:03:28 -05:00
LICENSE Add README.md, update license (MIT -2019) 2019-01-13 20:09:07 -05:00
README.md Update README.md 2019-03-21 22:07:03 -04:00
aerc.go Add message view commands, :close 2019-03-30 21:45:41 -04:00
go.mod go get git.sr.ht/~sircmpwn/go-libvterm 2019-04-21 16:17:40 -04:00
go.sum go get git.sr.ht/~sircmpwn/go-libvterm 2019-04-21 16:17:40 -04:00

README.md

aerc

aerc is a work in progress email client for your terminal.

It is not yet suitable for daily use.

Building

go build

Usage

$ mkdir ~/.config/aerc
$ cp config/*.conf ~/.config/aerc/
$ vim ~/.config/aerc/accounts.conf

Fill in your account details and configure the rest to taste, then run aerc2.

Contributing

Send patches to ~sircmpwn/public-inbox@lists.sr.ht.

Bugs & todo here: ~sircmpwn/aerc2