/mandos/trunk

To get this branch, use:
bzr branch http://bzr.recompile.se/loggerhead/mandos/trunk

« back to all changes in this revision

Viewing changes to plugins.d/splashy.xml

  • Committer: Teddy Hogeborn
  • Date: 2019-07-30 17:03:57 UTC
  • Revision ID: teddy@recompile.se-20190730170357-jte0piul5mq7j5pr
Server: Reap zombies created by multiprocessing.Process()

When creating checkers as multiprocessing.Process() objects, the
multiprocessing module also creates a parent process (for the
call_pipe() function) to call the actual checker process, but this
parent process is not reaped.  This is not a huge problem, since the
zombie is always reaped automatically the next time the multiprocess
starts a new process, but the zombies can be up to as many as there
have ever been simultaneous checker processes.  To fix this, the
process object must be join():ed when they report completion of the
child checker process.

* mandos (Client): Fix doc string to correctly state that
                   Client.checker is a multiprocess.Process() and not
                   a subprocess.Popen() object.
  (Client.checker_callback): After the returncode of the checker
                             process has been read, wait for the
                             self.checker Process object to finish by
                             calling join() on it.

Reported-by: Peter Palfrader <weasel@debian.org>

Show diffs side-by-side

added added

removed removed

Lines of Context:
2
2
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3
3
        "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4
4
<!ENTITY COMMANDNAME "splashy">
5
 
<!ENTITY TIMESTAMP "2018-02-08">
 
5
<!ENTITY TIMESTAMP "2019-02-10">
6
6
<!ENTITY % common SYSTEM "../common.ent">
7
7
%common;
8
8
]>
42
42
      <year>2016</year>
43
43
      <year>2017</year>
44
44
      <year>2018</year>
 
45
      <year>2019</year>
45
46
      <holder>Teddy Hogeborn</holder>
46
47
      <holder>Björn Påhlsson</holder>
47
48
    </copyright>
134
135
        <para>
135
136
          These variables will normally be inherited from
136
137
          <citerefentry><refentrytitle>plugin-runner</refentrytitle>
137
 
          <manvolnum>8mandos</manvolnum></citerefentry>, which will
138
 
          normally have inherited them from
139
 
          <filename>/scripts/local-top/cryptroot</filename> in the
140
 
          initial <acronym>RAM</acronym> disk environment, which will
141
 
          have set them from parsing kernel arguments and
142
 
          <filename>/conf/conf.d/cryptroot</filename> (also in the
143
 
          initial RAM disk environment), which in turn will have been
144
 
          created when the initial RAM disk image was created by
145
 
          <filename
146
 
          >/usr/share/initramfs-tools/hooks/cryptroot</filename>, by
147
 
          extracting the information of the root file system from
148
 
          <filename >/etc/crypttab</filename>.
 
138
          <manvolnum>8mandos</manvolnum></citerefentry>, which might
 
139
          have in turn inherited them from its calling process.
149
140
        </para>
150
141
        <para>
151
142
          This behavior is meant to exactly mirror the behavior of
275
266
    <para>
276
267
      <citerefentry><refentrytitle>intro</refentrytitle>
277
268
      <manvolnum>8mandos</manvolnum></citerefentry>,
278
 
      <citerefentry><refentrytitle>crypttab</refentrytitle>
279
 
      <manvolnum>5</manvolnum></citerefentry>,
280
269
      <citerefentry><refentrytitle>plugin-runner</refentrytitle>
281
270
      <manvolnum>8mandos</manvolnum></citerefentry>,
282
271
      <citerefentry><refentrytitle>proc</refentrytitle>