CVSROOT: /cvs Module name: ports Changes by: es...@cvs.openbsd.org 2013/07/17 23:36:55
Modified files: infrastructure/lib/DPB: Engine.pm Locks.pm PortBuilder.pm infrastructure/lib/DPB/Job: Port.pm Log message: change the way errors are handled, fixed version: - pass error condition from Job/Port.pm all the way to the engine - use that to know whether we fail, instead of the existence of packages (but still keep track of what we're doing correctly, THAT'S the fix) - refactor error handling into OO version - keep track of locks/errors/packages we're waiting for thx to nfs all of these keep the lock around, and react to the lock being removed. use case for nfs: if there was a revision bump after dpb scanned the port, it will never find the package. Removing the lock will allow dpb to rescan and find the correct packages. with this, dpb no longer waits after nfs. More importantly, it does not report nfs hangs as E:, rather as H:... (and it can "wait" for much longer periods, since it keeps running and only checks on new jobs).