{"push_id":1280381893,"size":11,"distinct_size":11,"ref":"refs/heads/master","head":"c6d23f91edcfcea94e8632d50905819de6168c9c","before":"b00925525f0f4394ed2e16e020bc9544ab90b0f4","commits":[{"sha":"ade9931b8564d87fd76a771cdb77f354b707c067","author":{"name":"Austin Clements","email":"8a82e577155cc7eb1b647adcbc2ff2f72376be12@google.com"},"message":"go-weave: simple model checker for concurrent algorithms\n\nThis is a mess right now, but it works. It has both a deterministic\nand a randomized scheduler. It also has state equivalence support, but\nit's completely wrong.","distinct":true,"url":"https://api.github.com/repos/aclements/go-misc/commits/ade9931b8564d87fd76a771cdb77f354b707c067"},{"sha":"20dc352d722f2553d953fd332e47ed4bc2a14aea","author":{"name":"Austin Clements","email":"8a82e577155cc7eb1b647adcbc2ff2f72376be12@google.com"},"message":"go-weave: make amb strategies first class","distinct":true,"url":"https://api.github.com/repos/aclements/go-misc/commits/20dc352d722f2553d953fd332e47ed4bc2a14aea"},{"sha":"485277ca1a28f82b9f83ab5aa3c8a7556a7043fb","author":{"name":"Austin Clements","email":"8a82e577155cc7eb1b647adcbc2ff2f72376be12@google.com"},"message":"go-weave: clean up all threads if one panics\n\nCurrently, if some thread under weave's control panics, the rest of\nthe threads stick around for the rest of time in a blocked state. Fix\nthis by propagating a shutdown panic to all threads.","distinct":true,"url":"https://api.github.com/repos/aclements/go-misc/commits/485277ca1a28f82b9f83ab5aa3c8a7556a7043fb"},{"sha":"e70b7fd918aec633dd962e4b4a8a71b04454c4dd","author":{"name":"Austin Clements","email":"8a82e577155cc7eb1b647adcbc2ff2f72376be12@google.com"},"message":"go-weave: make thread exit more efficient\n\nKeep track of a thread's index in the runnable list so it can be\nremoved directly, rather than performing a linear scan.","distinct":true,"url":"https://api.github.com/repos/aclements/go-misc/commits/e70b7fd918aec633dd962e4b4a8a71b04454c4dd"},{"sha":"0b20e3ff7a413a774b413263bbc40e8b572e5f2c","author":{"name":"Austin Clements","email":"8a82e577155cc7eb1b647adcbc2ff2f72376be12@google.com"},"message":"go-weave: proper blocking and locks\n\nThis gives threads a proper way to block, implements Mutex and RWMutex\non top of this, and uses these to fix the liveness issue in the way\nrescan.go currently models STW.","distinct":true,"url":"https://api.github.com/repos/aclements/go-misc/commits/0b20e3ff7a413a774b413263bbc40e8b572e5f2c"},{"sha":"f9359a6f1474f14c310994a3b85e19129d06d2fa","author":{"name":"Austin Clements","email":"8a82e577155cc7eb1b647adcbc2ff2f72376be12@google.com"},"message":"go-weave: simplify handling of thread aborts\n\nCurrently the scheduler is distributed across all of the threads being\nrun. This certainly simplifies some things, but it makes it much\nharder to deal with panics and thread aborts, since they can happen in\nmany different places. For example, the current implementation freezes\nwhen Sched() is called from a defer run by a thread abort.\n\nSimplify this handling by centralizing the scheduler. All scheduling\ndecisions are now made directly on the Run goroutine. When a thread\ndeschedules, it doesn't attempt to pick the next thread to run; it\nsimply wakes the central scheduler.","distinct":true,"url":"https://api.github.com/repos/aclements/go-misc/commits/f9359a6f1474f14c310994a3b85e19129d06d2fa"},{"sha":"5e8c48ccd3ead89be7fbef761b0ee04c42670891","author":{"name":"Austin Clements","email":"8a82e577155cc7eb1b647adcbc2ff2f72376be12@google.com"},"message":"go-weave/amb: interleave stdout/stderr with progress reports\n\nCurrently any output with stdout or stderr will be unpleasantly\nintermingled with the progress display. Fix this by replacing\nos.Stdout and os.Stderr with our own pipes and proxying all writes to\nthese through something that synchronizes with the progress reporter.","distinct":true,"url":"https://api.github.com/repos/aclements/go-misc/commits/5e8c48ccd3ead89be7fbef761b0ee04c42670891"},{"sha":"e6470cbb3b534146b4bc49f7077474f20a450091","author":{"name":"Austin Clements","email":"8a82e577155cc7eb1b647adcbc2ff2f72376be12@google.com"},"message":"go-weave: add tracing API\n\nThis lets a process record a readable trace for a particular\nexecution. The trace is displayed if the execution fails.","distinct":true,"url":"https://api.github.com/repos/aclements/go-misc/commits/e6470cbb3b534146b4bc49f7077474f20a450091"},{"sha":"3f4cdd03c8bcb46e06ef36aac1064467b1ba6a4e","author":{"name":"Austin Clements","email":"8a82e577155cc7eb1b647adcbc2ff2f72376be12@google.com"},"message":"go-weave: move models to their own directory","distinct":true,"url":"https://api.github.com/repos/aclements/go-misc/commits/3f4cdd03c8bcb46e06ef36aac1064467b1ba6a4e"},{"sha":"72e82a65dc20a79cfc6bc578a5fd2a3b6d54892d","author":{"name":"Austin Clements","email":"8a82e577155cc7eb1b647adcbc2ff2f72376be12@google.com"},"message":"go-weave: document the models","distinct":true,"url":"https://api.github.com/repos/aclements/go-misc/commits/72e82a65dc20a79cfc6bc578a5fd2a3b6d54892d"},{"sha":"c6d23f91edcfcea94e8632d50905819de6168c9c","author":{"name":"Austin Clements","email":"8a82e577155cc7eb1b647adcbc2ff2f72376be12@google.com"},"message":"go-weave: two new models","distinct":true,"url":"https://api.github.com/repos/aclements/go-misc/commits/c6d23f91edcfcea94e8632d50905819de6168c9c"}]}
{"actor":{"display_login":"aclements"}}