From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from pigeon.gentoo.org ([208.92.234.80] helo=lists.gentoo.org) by finch.gentoo.org with esmtp (Exim 4.60) (envelope-from ) id 1RvfHc-0001O3-66 for garchives@archives.gentoo.org; Fri, 10 Feb 2012 01:28:16 +0000 Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 22873E05A5; Fri, 10 Feb 2012 01:28:05 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) by pigeon.gentoo.org (Postfix) with ESMTP id D0FEDE05A5 for ; Fri, 10 Feb 2012 01:28:04 +0000 (UTC) Received: from hornbill.gentoo.org (hornbill.gentoo.org [94.100.119.163]) (using TLSv1 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id DF3CF1B4008 for ; Fri, 10 Feb 2012 01:28:03 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by hornbill.gentoo.org (Postfix) with ESMTP id 9BFADE53FF for ; Fri, 10 Feb 2012 01:28:02 +0000 (UTC) From: "Zac Medico" To: gentoo-commits@lists.gentoo.org Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Zac Medico" Message-ID: Subject: [gentoo-commits] proj/portage:master commit in: pym/portage/dbapi/, pym/_emerge/ X-VCS-Repository: proj/portage X-VCS-Files: pym/_emerge/AbstractPollTask.py pym/_emerge/AsynchronousLock.py pym/_emerge/EbuildIpcDaemon.py pym/_emerge/EbuildMetadataPhase.py pym/_emerge/PollScheduler.py pym/_emerge/Scheduler.py pym/portage/dbapi/_MergeProcess.py X-VCS-Directories: pym/portage/dbapi/ pym/_emerge/ X-VCS-Committer: zmedico X-VCS-Committer-Name: Zac Medico X-VCS-Revision: c85b1d7149f09e64b5ed4f5e45742b6e5a9df38b Date: Fri, 10 Feb 2012 01:28:02 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: quoted-printable X-Archives-Salt: d93d218b-209b-4183-ba06-5d865c1f3ebf X-Archives-Hash: 4c2d7d49ef742e1e8ba760e3cc88be08 commit: c85b1d7149f09e64b5ed4f5e45742b6e5a9df38b Author: Zac Medico gentoo org> AuthorDate: Fri Feb 10 01:27:13 2012 +0000 Commit: Zac Medico gentoo org> CommitDate: Fri Feb 10 01:27:13 2012 +0000 URL: http://git.overlays.gentoo.org/gitweb/?p=3Dproj/portage.git;a= =3Dcommit;h=3Dc85b1d71 Use IO_* constants where appropriate. --- pym/_emerge/AbstractPollTask.py | 20 +++++++++++++------- pym/_emerge/AsynchronousLock.py | 9 ++++----- pym/_emerge/EbuildIpcDaemon.py | 5 ++--- pym/_emerge/EbuildMetadataPhase.py | 5 ++--- pym/_emerge/PollScheduler.py | 9 ++++++++- pym/_emerge/Scheduler.py | 6 ++++++ pym/portage/dbapi/_MergeProcess.py | 7 +++---- 7 files changed, 38 insertions(+), 23 deletions(-) diff --git a/pym/_emerge/AbstractPollTask.py b/pym/_emerge/AbstractPollTa= sk.py index 9229052..68282ef 100644 --- a/pym/_emerge/AbstractPollTask.py +++ b/pym/_emerge/AbstractPollTask.py @@ -8,16 +8,22 @@ import os =20 from portage.util import writemsg_level from _emerge.AsynchronousTask import AsynchronousTask -from _emerge.PollConstants import PollConstants + class AbstractPollTask(AsynchronousTask): =20 __slots__ =3D ("scheduler",) + \ ("_registered",) =20 _bufsize =3D 4096 - _exceptional_events =3D PollConstants.POLLERR | PollConstants.POLLNVAL - _registered_events =3D PollConstants.POLLIN | PollConstants.POLLHUP | \ - _exceptional_events + + @property + def _exceptional_events(self): + return self.scheduler.IO_ERR | self.scheduler.IO_NVAL + + @property + def _registered_events(self): + return self.scheduler.IO_IN | self.scheduler.IO_HUP | \ + self._exceptional_events =20 def isAlive(self): return bool(self._registered) @@ -39,7 +45,7 @@ class AbstractPollTask(AsynchronousTask): | 0 | None """ buf =3D None - if event & PollConstants.POLLIN: + if event & self.scheduler.IO_IN: buf =3D array.array('B') try: buf.fromfile(f, self._bufsize) @@ -85,7 +91,7 @@ class AbstractPollTask(AsynchronousTask): # bugs in all known versions of Python (including Python 2.7 # and Python 3.2). buf =3D None - if event & PollConstants.POLLIN: + if event & self.scheduler.IO_IN: try: buf =3D os.read(fd, self._bufsize) except OSError as e: @@ -117,7 +123,7 @@ class AbstractPollTask(AsynchronousTask): self._log_poll_exception(event) self._unregister() self.cancel() - elif event & PollConstants.POLLHUP: + elif event & self.scheduler.IO_HUP: self._unregister() self.wait() =20 diff --git a/pym/_emerge/AsynchronousLock.py b/pym/_emerge/AsynchronousLo= ck.py index 3cf0acb..c07df0b 100644 --- a/pym/_emerge/AsynchronousLock.py +++ b/pym/_emerge/AsynchronousLock.py @@ -20,7 +20,6 @@ from portage.locks import lockfile, unlockfile from portage.util import writemsg_level from _emerge.AbstractPollTask import AbstractPollTask from _emerge.AsynchronousTask import AsynchronousTask -from _emerge.PollConstants import PollConstants from _emerge.SpawnProcess import SpawnProcess =20 class AsynchronousLock(AsynchronousTask): @@ -118,7 +117,7 @@ class _LockThread(AbstractPollTask): fcntl.fcntl(f, fcntl.F_SETFL, fcntl.fcntl(f, fcntl.F_GETFL) | os.O_NONBLOCK) self._reg_id =3D self.scheduler.register(self._files['pipe_read'], - PollConstants.POLLIN, self._output_handler) + self.scheduler.IO_IN, self._output_handler) self._registered =3D True threading_mod =3D threading if self._force_dummy: @@ -132,7 +131,7 @@ class _LockThread(AbstractPollTask): =20 def _output_handler(self, f, event): buf =3D None - if event & PollConstants.POLLIN: + if event & self.scheduler.IO_IN: try: buf =3D os.read(self._files['pipe_read'], self._bufsize) except OSError as e: @@ -200,7 +199,7 @@ class _LockProcess(AbstractPollTask): fcntl.fcntl(in_pr, fcntl.F_SETFL, fcntl.fcntl(in_pr, fcntl.F_GETFL) | os.O_NONBLOCK) self._reg_id =3D self.scheduler.register(in_pr, - PollConstants.POLLIN, self._output_handler) + self.scheduler.IO_IN, self._output_handler) self._registered =3D True self._proc =3D SpawnProcess( args=3D[portage._python_interpreter, @@ -268,7 +267,7 @@ class _LockProcess(AbstractPollTask): =20 def _output_handler(self, f, event): buf =3D None - if event & PollConstants.POLLIN: + if event & self.scheduler.IO_IN: try: buf =3D os.read(self._files['pipe_in'], self._bufsize) except OSError as e: diff --git a/pym/_emerge/EbuildIpcDaemon.py b/pym/_emerge/EbuildIpcDaemon= .py index 6a320cb..5795bfb 100644 --- a/pym/_emerge/EbuildIpcDaemon.py +++ b/pym/_emerge/EbuildIpcDaemon.py @@ -1,4 +1,4 @@ -# Copyright 2010-2011 Gentoo Foundation +# Copyright 2010-2012 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 =20 import errno @@ -8,7 +8,6 @@ from portage import os from portage.localization import _ from portage.util import writemsg_level from _emerge.FifoIpcDaemon import FifoIpcDaemon -from _emerge.PollConstants import PollConstants =20 class EbuildIpcDaemon(FifoIpcDaemon): """ @@ -34,7 +33,7 @@ class EbuildIpcDaemon(FifoIpcDaemon): def _input_handler(self, fd, event): # Read the whole pickle in a single atomic read() call. data =3D None - if event & PollConstants.POLLIN: + if event & self.scheduler.IO_IN: # For maximum portability, use os.read() here since # array.fromfile() and file.read() are both known to # erroneously return an empty string from this diff --git a/pym/_emerge/EbuildMetadataPhase.py b/pym/_emerge/EbuildMetad= ataPhase.py index f8da866..a34542d 100644 --- a/pym/_emerge/EbuildMetadataPhase.py +++ b/pym/_emerge/EbuildMetadataPhase.py @@ -1,8 +1,7 @@ -# Copyright 1999-2011 Gentoo Foundation +# Copyright 1999-2012 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 =20 from _emerge.SubProcess import SubProcess -from _emerge.PollConstants import PollConstants import sys from portage.cache.mappings import slot_dict_class import portage @@ -111,7 +110,7 @@ class EbuildMetadataPhase(SubProcess): =20 def _output_handler(self, fd, event): =20 - if event & PollConstants.POLLIN: + if event & self.scheduler.IO_IN: while True: try: self._raw_metadata.append( diff --git a/pym/_emerge/PollScheduler.py b/pym/_emerge/PollScheduler.py index 3b86fa0..eafb8a2 100644 --- a/pym/_emerge/PollScheduler.py +++ b/pym/_emerge/PollScheduler.py @@ -20,7 +20,8 @@ from _emerge.getloadavg import getloadavg class PollScheduler(object): =20 class _sched_iface_class(SlotObject): - __slots__ =3D ("idle_add", "io_add_watch", "iteration", + __slots__ =3D ("IO_ERR", "IO_HUP", "IO_IN", "IO_NVAL", "IO_OUT", + "IO_PRI", "idle_add", "io_add_watch", "iteration", "output", "register", "run", "source_remove", "timeout_add", "unregister") =20 @@ -34,6 +35,12 @@ class PollScheduler(object): self._background =3D False self._event_loop =3D global_event_loop() self.sched_iface =3D self._sched_iface_class( + IO_ERR=3Dself._event_loop.IO_ERR, + IO_HUP=3Dself._event_loop.IO_HUP, + IO_IN=3Dself._event_loop.IO_IN, + IO_NVAL=3Dself._event_loop.IO_NVAL, + IO_OUT=3Dself._event_loop.IO_OUT, + IO_PRI=3Dself._event_loop.IO_PRI, idle_add=3Dself._event_loop.idle_add, io_add_watch=3Dself._event_loop.io_add_watch, iteration=3Dself._event_loop.iteration, diff --git a/pym/_emerge/Scheduler.py b/pym/_emerge/Scheduler.py index 12f0871..674a11e 100644 --- a/pym/_emerge/Scheduler.py +++ b/pym/_emerge/Scheduler.py @@ -217,6 +217,12 @@ class Scheduler(PollScheduler): fetch_iface =3D self._fetch_iface_class(log_file=3Dself._fetch_log, schedule=3Dself._schedule_fetch) self._sched_iface =3D self._iface_class( + IO_ERR=3Dself._event_loop.IO_ERR, + IO_HUP=3Dself._event_loop.IO_HUP, + IO_IN=3Dself._event_loop.IO_IN, + IO_NVAL=3Dself._event_loop.IO_NVAL, + IO_OUT=3Dself._event_loop.IO_OUT, + IO_PRI=3Dself._event_loop.IO_PRI, fetch=3Dfetch_iface, output=3Dself._task_output, idle_add=3Dself._event_loop.idle_add, io_add_watch=3Dself._event_loop.io_add_watch, diff --git a/pym/portage/dbapi/_MergeProcess.py b/pym/portage/dbapi/_Merg= eProcess.py index da278ea..9bb67c9 100644 --- a/pym/portage/dbapi/_MergeProcess.py +++ b/pym/portage/dbapi/_MergeProcess.py @@ -1,4 +1,4 @@ -# Copyright 2010-2011 Gentoo Foundation +# Copyright 2010-2012 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 =20 import io @@ -10,7 +10,6 @@ import fcntl import portage from portage import os, _unicode_decode import portage.elog.messages -from _emerge.PollConstants import PollConstants from _emerge.SpawnProcess import SpawnProcess =20 class MergeProcess(SpawnProcess): @@ -63,7 +62,7 @@ class MergeProcess(SpawnProcess): =20 def _elog_output_handler(self, fd, event): output =3D None - if event & PollConstants.POLLIN: + if event & self.scheduler.IO_IN: try: output =3D os.read(fd, self._bufsize) except OSError as e: @@ -83,7 +82,7 @@ class MergeProcess(SpawnProcess): reporter =3D getattr(portage.elog.messages, funcname) reporter(msg, phase=3Dphase, key=3Dkey, out=3Dout) =20 - if event & PollConstants.POLLHUP: + if event & self.scheduler.IO_HUP: self.scheduler.unregister(self._elog_reg_id) self._elog_reg_id =3D None os.close(self._elog_reader_fd)