Age | Commit message (Collapse) | Author | |
---|---|---|---|
2016-06-14 | drop inotify, we can just rely on SIGHUP. | Luke Shumaker | |
much simple. very kiss. | |||
2015-11-08 | gofmt | Luke Shumaker | |
2015-11-07 | use the separate packages from lukeshu.com, clean up the Makefile | Luke Shumaker | |
2015-09-18 | Massive documentation and copyright clean-up. | Luke Shumaker | |
2015-09-12 | gofmt, use make(chan) without a number argument where possible | Luke Shumaker | |
2015-09-12 | Clean up log messages | Luke Shumaker | |
2015-09-12 | Add an inotify watcher utility using channels; use it. | Luke Shumaker | |
The interface of inotify/inutil.Watcher more resembles golang.org/x/exp/inotify; with it using channels instead of repeated calls to Read(). In my use-case, this is useful because it allows implementing a "read" (select, really) that doesn't block Close(); which is required to handle the TERM signal correctly. | |||
2015-09-12 | hackers_watch: fix double-lock error | Luke Shumaker | |
2015-09-11 | Have nslcd_systemd manage the backend lifecycle | Luke Shumaker | |
2015-09-07 | clean up | Luke Shumaker | |
2015-09-07 | clean up gofmt differences | Luke Shumaker | |
2015-09-07 | manage each users list of groups as a set instead of a list | Luke Shumaker | |
2015-09-05 | track group membership | Luke Shumaker | |
2015-09-05 | minor tidy up | Luke Shumaker | |
2015-09-05 | clean up load_yaml_file logging | Luke Shumaker | |
2015-09-05 | tidy up hackers_git | Luke Shumaker | |
2015-09-05 | inotify: Avoid most of the race conditions, get rid of Cint | Luke Shumaker | |
There's still a condition that could be a race with fd-reuse, if one goroutine is calling inotify.{AddWatch,RmWatch,Read}(); another goroutine is calling inotify.Close(), and several things happen between loadFd() running and the add_watch/rm_watch/read syscall launching: - syscall.Close() returns - syscall.Open() reuses the filedescriptor A B syscall(loadFd()) inotify.Close(); syscall.Open() ---------------------------------------------------------- loadFd() syscall.Close() syscall.Open() syscall() Given that Read() can't be allowed to block Close() from running, I'm not sure there's a way to fix this. | |||
2015-09-05 | clean up logging | Luke Shumaker | |
2015-09-04 | fix password loading | Luke Shumaker | |
2015-09-03 | The comment at the bottom of hackers_watch.go was wrong; fix the race. | Luke Shumaker | |
The actual determinant was this race main worker ------------------- Close() Read() Exit() If Read() returned between when Close() happened and when Exit() happened, then the code ran. It doesn't *really* matter if the code runs, but for predictability, set up a wait group to have Close() block until the worker exits. | |||
2015-09-03 | fix bugs in code calling inotify | Luke Shumaker | |
2015-09-03 | tidy | Luke Shumaker | |
2015-09-03 | Fix issues in inotify bindings | Luke Shumaker | |
2015-09-03 | Use systemd/lsb exit codes, consistently | Luke Shumaker | |
2015-09-02 | Clean up | Luke Shumaker | |
2015-09-01 | Finish the hackers.git parser | Luke Shumaker | |
2015-08-29 | roll sleeves up, do actual yaml the hard way | Luke Shumaker | |
2015-08-28 | implement hackers_watch | Luke Shumaker | |