/mandos/release

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

« back to all changes in this revision

Viewing changes to debian/rules

  • Committer: Teddy Hogeborn
  • Date: 2019-07-30 17:03:57 UTC
  • mto: This revision was merged to the branch mainline in revision 384.
  • 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:
9
9
    MAKEFLAGS += -j$(NUMJOBS)
10
10
endif
11
11
 
12
 
PKG_CONFIG?=pkg-config
13
 
 
14
12
%:
15
13
        dh $@
16
14
 
17
 
override_dh_installdirs-indep:
18
 
        dh_installdirs
19
 
        dh_installdirs $(patsubst /%,%,$(shell $(PKG_CONFIG) \
20
 
                systemd --variable=systemdsystemunitdir)) \
21
 
                $(patsubst /%,%,$(shell $(PKG_CONFIG) \
22
 
                systemd --variable=tmpfilesdir)) \
23
 
                $(patsubst /%,%,$(shell $(PKG_CONFIG) \
24
 
                systemd --variable=sysusersdir))
25
 
 
26
 
override_dh_installdirs-arch:
27
 
        dh_installdirs
28
 
        dh_installdirs $(patsubst /%,%,$(shell $(PKG_CONFIG) \
29
 
                systemd --variable=sysusersdir))
30
 
 
31
15
override_dh_auto_build-arch:
32
16
        LC_ALL=en_US.utf8 dh_auto_build -- all doc
33
17
 
51
35
                --exclude etc/mandos/plugin-helpers \
52
36
                --exclude usr/lib/$(DEB_HOST_MULTIARCH)/mandos/plugins.d \
53
37
                --exclude usr/lib/$(DEB_HOST_MULTIARCH)/mandos/plugin-helpers \
54
 
                --exclude usr/share/doc/mandos-client/examples/network-hooks.d/
 
38
                --exclude usr/share/doc/mandos-client/examples/network-hooks.d
55
39
        chmod --recursive g-w -- \
56
40
        "$(CURDIR)/debian/mandos-client/usr/share/doc/mandos-client/examples/network-hooks.d"
57
41