in reply to Re: Safety of using alarm
in thread Safety of using alarm

Thanks.

Are you aware of any alternatives that are safer with 5.6.0? What type of problems might occur with the way I have things set up now? Segfaults out of the blue?

Replies are listed 'Best First'.
Re: Safety of using alarm
by Abigail-II (Bishop) on Mar 11, 2004 at 13:27 UTC
    Are you aware of any alternatives that are safer with 5.6.0?
    Yes. Use something else than Perl.
    What type of problems might occur with the way I have things set up now? Segfaults out of the blue?
    Anything can happen. Segfaults. Data corruption. Pink monkeys flying out your managers ears. Don't think that unsafe signals means their damage is contained in a neatly defined box.

    In 5.6.0 signals are UNSAFE, and that's non-negotiable.

    Abigail

      Fair enough.

      After searching around, I was not able to find any examples of actual problems caused by alarms (that is, no problems that did not involve Apache).

      My testing shows no problems when alarm is called with my script, so I'm going to assume my likelihood of running into trouble is right up there with the spontaneous appearance of monkeys.

      However, the non-Perl route is possible and trivial, so I have good enough reason to code a backup solution using Korn Shell's alarm function.

      Thanks for the input.

        My testing shows no problems when alarm is called with my script, so I'm going to assume my likelihood of running into trouble is right up there with the spontaneous appearance of monkeys.
        That proves nothing. Signals are not delivered in a deterministic fashion, that is, you don't know the (internal) state of the program when the signal is delivered. It may run without problems a thousand times. You may cross the street blindfolded a thousand times and survive - but that doesn't prove crossing streets blindfolded is safe, or even that the risk is acceptable.

        However, the non-Perl route is possible and trivial, so I have good enough reason to code a backup solution using Korn Shell's alarm function.
        Or install a recent version of Perl.

        Abigail