~rvb/maas/transaction-1.7-bug-1409852

« back to all changes in this revision

Viewing changes to src/provisioningserver/dhcp/leases.py

merged upstream

Show diffs side-by-side

added added

removed removed

Lines of Context:
54
54
from provisioningserver.cluster_config import get_maas_url
55
55
from provisioningserver.dhcp.leases_parser_fast import parse_leases
56
56
from provisioningserver.logger import get_maas_logger
 
57
from provisioningserver.utils.shell import objectfork
57
58
 
58
59
 
59
60
maaslog = get_maas_logger("dhcp.leases")
130
131
 
131
132
    if get_leases_timestamp() == previous_leases_time:
132
133
        return None
133
 
    parse_result = parse_leases_file()
 
134
 
 
135
    with objectfork() as (pid, recv, send):
 
136
        if pid == 0:
 
137
            # Child, where we'll do the parsing.
 
138
            send(parse_leases_file())
 
139
        else:
 
140
            # Parent, where we'll receive the results.
 
141
            parse_result = recv()
 
142
 
134
143
    if parse_result is not None:
135
144
        timestamp, leases = parse_result
136
145
        if leases == previous_leases: