aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Rename pym→lib, for better distutils-r1 interoperabilityMichał Górny2018-07-181-1/+1
| | | | Closes: https://github.com/gentoo/portage/pull/343
* asyncio: explicitly close event loops (bug 654390)Zac Medico2018-05-061-1/+4
| | | | | | | The default asyncio event loop triggers a resource warning if it is not explicitly closed, therefore close it when appropriate. Bug: https://bugs.gentoo.org/654390
* AbstractPollTask: change timeout units to secondsZac Medico2018-04-301-3/+3
|
* FifoWriter: add_writer asyncio compat (bug 654382)Zac Medico2018-04-291-25/+19
| | | | | | Use add_writer for asyncio compatibility. Bug: https://bugs.gentoo.org/654382
* bin/ebuild-ipc.py: nonblocking fifo writeZac Medico2014-10-191-8/+56
| | | | | | | | | Use nonblocking write instead of a fork for writing to the fifo. This has the advantage of avoiding a possible python futex deadlock following fork as reported in bug #524328. X-Gentoo-Bug: 524328 X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=524328
* Update sys.path in scripts only when using not installed instance of Portage.Arfrever Frehtes Taifersar Arahesis2014-09-201-7/+13
| | | | | Modules of installed instance of Portage are now placed in standard location, which is included in default sys.path.
* Use -b instead of -bb.Arfrever Frehtes Taifersar Arahesis2014-01-231-1/+1
| | | | (-bb can trigger errors, depending on Python version and environment.)
* Enable BytesWarnings.Arfrever Frehtes Taifersar Arahesis2014-01-181-3/+3
|
* ebuild-ipc: add FifoWriter classZac Medico2013-01-041-58/+21
|
* ebuild-ipc: fix read timeout msg / daemon checkZac Medico2013-01-031-2/+16
| | | | It got disabled in commit 06d31ef00da24352a6614f20bccfc892d2120ed9.
* ebuild-ipc: fix waiting messageZac Medico2013-01-031-2/+2
| | | | It got disabled by commit 439151bb5b0bd2ac4c9d2dd218fe377ce0b988e6.
* ebuild-ipc: use PipeReader in _receive_replyZac Medico2013-01-031-55/+6
|
* ebuild-ipc: use PipeReader in _waitZac Medico2013-01-031-15/+15
|
* Add portage._internal_caller var, and use it.Zac Medico2013-01-031-1/+2
|
* Don't use SIGUSR1 under Jython, bug #424259.Zac Medico2012-07-021-2/+9
|
* ebuild-ipc.py: return 2 when forked child crashesZac Medico2011-12-131-2/+2
|
* ebuils-ipc.py: _exit in finally block after forkZac Medico2011-12-131-11/+27
|
* ebuild-ipc: import errnoZac Medico2011-03-171-0/+1
|
* ebuild-ipc: use non-blocking readZac Medico2011-03-171-13/+41
| | | | | | | | | | | | This makes it possible for the daemon to send a reply without blocking, thereby improving performance and also making it possible for the daemon to do a non-blocking write without a race condition. This reverts part of commit 81fc303212b8379219cf5d463c8717359b972dba, which probably didn't help portability anyway. Now, ebuild-ipc is using non-blocking read with os.read and EAGAIN handling, just like EbuildIpcDaemon since commit 7e5b81da12dd7bd59f6620840dc0d824e3f4d69a (known compatible with FreeBSD).
* ebuild-ipc: use plain file read instead of arrayZac Medico2011-03-101-9/+6
| | | | | Array.fromfile() seems to be more error prone. For example, see bug 337465.
* In EbuildIpc._receive_reply(), close the input_file when finished.v2.2_rc86Zac Medico2010-09-211-0/+2
|
* In EbuildIpc._wait(), use waitpid() instead of wait() since we reallyZac Medico2010-09-211-1/+1
| | | | only need to wait on one process.
* Bug #337465 - Make ebuild-ipc use an array in order to force aZac Medico2010-09-211-3/+16
| | | | single atomic read of a whole pickle.
* Make ebuild-ipc use select() for timeouts, instead of alarm signals.Zac Medico2010-09-211-29/+44
|
* Make ebuild-ipc use a normal read() call instead of array.fromfile()Zac Medico2010-09-201-13/+3
| | | | since that should work fine for blocking IO.
* Make ebuild-ipc kill the child IO process before it exits due to timeout.Zac Medico2010-09-201-1/+8
|
* Fix ebuild-ipc to correctly handle non-zero return codes fromZac Medico2010-09-201-4/+8
| | | | has_version ipc calls.
* Rewrite ebuild-ipc timeout handling to use forks.Zac Medico2010-09-201-62/+85
| | | | | | | Use forks so that the child process can handle blocking IO un-interrupted, while the parent handles all timeout considerations. This helps to avoid possible race conditions from interference between timeouts and blocking IO operations.
* Make ebuild-ipc show an additional 'read failed' message if the bufferZac Medico2010-09-201-1/+8
| | | | happens to be empty after the read loop.
* If ebuild-ipc times out during read, check if the read buffer isZac Medico2010-09-201-2/+4
| | | | non-empty in order to try to avoid a possible race condition.
* Fix ebuild-ipc.py to timeout if necessary when opening input_fileZac Medico2010-09-181-2/+8
| | | | in blocking mode.
* Use blocking IO in ebuild-ipc.py and EbuildIpcDaemon._send_reply(),Zac Medico2010-09-181-17/+1
| | | | in hopes that it will be more portable (see bug #337465).
* Make ebuild-ipc.py close the output_file before trying to re-open itZac Medico2010-09-141-2/+6
| | | | after it has timed out.
* Make ebuild-ipc timeout messages show which operation timed out.Zac Medico2010-09-141-6/+11
|
* Bug #336142 - Make ebuild-ipc.py keep trying to communicate indefinitely,Zac Medico2010-09-141-36/+98
| | | | as long as $PORTAGE_BUILDDIR is locked.
* Bug #336142 - Use a longer timeout for ebuild-ipc, in case the system isZac Medico2010-09-121-1/+3
| | | | heavily loaded.
* Make ebuild-ipc.py suppress IOError just like it does for EOFErrorZac Medico2010-09-101-3/+1
| | | | when the buffer is non-empty.
* Make ebuild-ipc.py handle exceptions from pickle.loads().Zac Medico2010-09-101-11/+15
|
* Make ebuild-ipc.py display EOFError if no data is read from theZac Medico2010-09-101-2/+2
| | | | pipe.
* Add missing comma in tuple.Zac Medico2010-09-091-2/+2
|
* Bug #336644 - Make ebuild-ipc.py use array.fromfile() to read picklesZac Medico2010-09-091-25/+29
| | | | | | | in single atomic non-blocking read() calls, similar to how AbstractPollTask._read_buf() does it. If the read fails, exit with status 2 so that best_version() and has_version() can detect the error and die when necessary.
* Make ebuild-ipc.py call portage._disable_legacy_globals() since itZac Medico2010-09-031-0/+1
| | | | doesn't need any of that stuff.
* Adjust AlarmSignal.unregister() call in ebuild-ipc.Zac Medico2010-09-031-7/+8
|
* Make AlarmSignal.register() require a time parameter and pass it toZac Medico2010-09-031-2/+2
| | | | signal.alarm().
* Add AlarmSignal.register() and unregister() classmethods in order toZac Medico2010-09-031-3/+2
| | | | handle interaction with the signal module.
* Bug #335777 - Add a 40 second timeout in ebuild-ipc.py, so that if anZac Medico2010-09-031-1/+20
| | | | | orphan is left for any reason then it will exit with an error message instead of hanging indefinitely.
* Adjust EbuildIpcDaemon pickle read and write code in order to ensureZac Medico2010-09-021-4/+26
| | | | | atomc reading and writing of whole pickles. This should be the least error-prone approach, given the non-blocking nature of the streams.
* Fix typo in comment.Zac Medico2010-08-201-1/+1
|
* Add a SIGUSR1 handler to trigger pdb.set_trace().Zac Medico2010-08-131-0/+6
|
* Clean up a bit.Zac Medico2010-08-121-6/+3
|