about summary refs log blame commit diff stats
path: root/archive.md
blob: e8081412dd18e4612c5089800bc720a4b42cf6cf (plain) (tree)
1
2
3


                                                         
# Archive

- [index](https://elioat.tilde.institute/wiki/index.html)
in.Pseudo */ .highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */ .highlight .vc { color: #336699 } /* Name.Variable.Class */ .highlight .vg { color: #dd7700 } /* Name.Variable.Global */ .highlight .vi { color: #3333bb } /* Name.Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
# Copyright (C) 2009, 2010  Roman Zimbelmann <romanz@lavabit.com>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.

from errno import EINTR
from os import waitpid

def waitpid_no_intr(pid):
	"""catch interrupts which occur while using os.waitpid"""
	while True:
		try:
			return waitpid(pid, 0)
		except KeyboardInterrupt:
			continue
		except OSError as e:
			if e.errno == EINTR:
				continue
			else:
				raise