# File ../../auditor/lib/kasp_auditor/partial_auditor.rb, line 462
      def scan_signed_file(file, domain_filename)
        @non_dnssec_rr_count = 0
        @algs = []
        #        print "Starting signed zone scan\n"
        pid = fork {
          # Now go through the temp files for the domains of interest, and ensure that they are all good.
          # Use the grep command to find all the domains we're interested in.
          # Write them all out to a single file, and then process that.
          grep_for_domains_of_interest(file, domain_filename)
        }
        first = true
        IO.foreach((file.to_s+"").untaint) {|line|
          next if (line[0,1] == ";")
          next if (line.strip.length == 0)
          if (first)
            first = false
            # Check that SOA record is first record in output zone
            rr = RR.create(line)
            if (rr.type != Types::SOA)
              @parent.log(LOG_ERR, "Expected SOA RR as first record in #{file}, but got RR : #{rr}")
            end
          end
          # Read the line in and split it
          # We know that signed line will always be in canonical form. So, type will always be at line.split()[3]

          # See if it contains an RR type of interest - if so, then process the standard checks that apply for that type
          test_rr_type(line)
        }

        ret_id, ret_status = Process.wait2(pid)
        if (ret_status != 0)
          @parent.log(LOG_WARNING, "Grep failed on #{file} - #{ret_status}")
        else
          scan_temp_domain_files(domain_filename)
        end
        return @non_dnssec_rr_count, @soa
      end