# File lib/puppet/util/settings.rb, line 313
313:     def parse
314:         raise "No :config setting defined; cannot parse unknown config file" unless self[:config]
315: 
316:         # Create a timer so that this file will get checked automatically
317:         # and reparsed if necessary.
318:         set_filetimeout_timer()
319: 
320:         # Retrieve the value now, so that we don't lose it in the 'clear' call.
321:         file = self[:config]
322: 
323:         return unless FileTest.exist?(file)
324: 
325:         # We have to clear outside of the sync, because it's
326:         # also using synchronize().
327:         clear(true)
328: 
329:         @sync.synchronize do
330:             unsafe_parse(file)
331:         end
332:     end