Age | Commit message (Collapse) | Author | |
---|---|---|---|
2015-10-26 | dlfcn: return raw unsafe.Pointer | Luke Shumaker | |
2015-10-26 | oops | Luke Shumaker | |
2015-10-26 | go vet thinks that `panic("not reached")` isn't reachable, so remove it. | Luke Shumaker | |
2015-10-26 | dl: fix a pointer/value issue found by go vet | Luke Shumaker | |
2015-10-26 | make gofmt complain slightly less | Luke Shumaker | |
2015-10-07 | db_pam: I had "0" in the array of possible characters twice | Luke Shumaker | |
2015-09-18 | Only clean `generate` targets on maintainer-clean | Luke Shumaker | |
2015-09-18 | dl: Keep track of if a handle has been closed | Luke Shumaker | |
2015-09-18 | Massive documentation and copyright clean-up. | Luke Shumaker | |
2015-09-12 | nslcd_systemd: clean up | Luke Shumaker | |
2015-09-12 | nslcd_proto:handleRequest: fix | Luke Shumaker | |
2015-09-12 | psncd_proto:handleRequest: clean up logging | Luke Shumaker | |
2015-09-12 | gofmt, use make(chan) without a number argument where possible | Luke Shumaker | |
2015-09-12 | Derp, channels and goroutines are enumerators | 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 | inotify: fix the type of the Init1 flags | Luke Shumaker | |
2015-09-12 | hackers_watch: fix double-lock error | Luke Shumaker | |
2015-09-12 | woops, remove cruft from inotify change | Luke Shumaker | |
2015-09-11 | fix several all*Enumerator initializers | Luke Shumaker | |
2015-09-11 | nslcd_systemd: set up the signal handlers earlier | Luke Shumaker | |
2015-09-11 | tidy | Luke Shumaker | |
2015-09-11 | Have nslcd_systemd manage the backend lifecycle | Luke Shumaker | |
2015-09-08 | I am dumb, fix inotify bindings | Luke Shumaker | |
2015-09-08 | oops | Luke Shumaker | |
2015-09-07 | implement db_group | Luke Shumaker | |
2015-09-07 | clean up | Luke Shumaker | |
2015-09-07 | Pull the mucking with getgrnam into a getgr package. | Luke Shumaker | |
2015-09-07 | Disable the nss ldap module for our process (include bindings for libdl) | 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 | hackers_git:parse_user_yaml(): prune duplicate group names | 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 | fix nslcd_proto IO | Luke Shumaker | |
2015-09-05 | The way nslcd_proto's GenericGetNext was designed, nil checks didn't work | Luke Shumaker | |
2015-09-05 | nslcd_proto.handleRequest had a check backwards | Luke Shumaker | |
2015-09-05 | error handling fixes | Luke Shumaker | |
2015-09-05 | nslcd_h: each of the custom types should have kind==struct, to make io easy | Luke Shumaker | |
2015-09-05 | clean up logging | Luke Shumaker | |
2015-09-04 | fix filename2uid() | Luke Shumaker | |
2015-09-04 | fix password loading | Luke Shumaker | |
2015-09-03 | nslcd_proto/io.go: Derp, the end of the switch block absolutely is reached | Luke Shumaker | |
2015-09-03 | Use a defer/recover block to have the exit status on panic match LSB. | Luke Shumaker | |
2015-09-03 | Fix a race condition: WaitGroup.Add() should be called before "go" | 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 | remove stray newline | Luke Shumaker | |