lkml.org 
[lkml]   [2003]   [May]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH]: DELAYTIMER_MAX is defined
    Eric Piel wrote:
    > Hello,
    >
    > Playing around with the posix timers I've noticed that DELAYTIMER_MAX is
    > not defined. This constant is specified in the POSIX specifications. It
    > should contain the maximum possible value of overruns on a signal. It is
    > also said that the overrun shouldn't overflow. cf
    > http://www.opengroup.org/onlinepubs/007904975/functions/timer_getoverrun.html
    >
    > So here is a patch to add this constant and a check that the overrun
    > variable never overflow. It's for 2.5.67 but should apply flawlessly to
    > 2.5.69 too.
    > Actually one could wonder if the test on the overflow is really needed
    > has an overrun reaching 2^31 seems very hard to happen. However the
    > constant definition is not hurting anything and looks necessary for
    > closer POSIX compliance.

    I think this is needed in glibc. I am not sure how that relates to
    kernel defines.

    -g
    >
    > Eric
    >
    >
    > ------------------------------------------------------------------------
    >
    > diff -ur linux-2.5.67-ia64-hrtcore/include/linux/limits.h linux-2.5.67-ia64-hrtimers/include/linux/limits.h
    > --- linux-2.5.67-ia64-hrtcore/include/linux/limits.h 2003-04-22 11:10:44.000000000 +0200
    > +++ linux-2.5.67-ia64-hrtimers/include/linux/limits.h 2003-05-06 13:45:48.000000000 +0200
    > @@ -17,6 +17,8 @@
    > #define XATTR_SIZE_MAX 65536 /* size of an extended attribute value (64k) */
    > #define XATTR_LIST_MAX 65536 /* size of extended attribute namelist (64k) */
    >
    > +#define DELAYTIMER_MAX INT_MAX /* # timer expiration overruns a POSIX.1b timer may have */
    > +
    > #define RTSIG_MAX 32
    >
    > #endif
    > diff -ur linux-2.5.67-ia64-hrtcore/include/linux/posix-timers.h linux-2.5.67-ia64-hrtimers/include/linux/posix-timers.h
    > --- linux-2.5.67-ia64-hrtcore/include/linux/posix-timers.h 2003-04-22 11:10:44.000000000 +0200
    > +++ linux-2.5.67-ia64-hrtimers/include/linux/posix-timers.h 2003-05-06 16:07:56.000000000 +0200
    > @@ -25,6 +59,7 @@
    >
    > #define posix_bump_timer(timr) do { \
    > (timr)->it_timer.expires += (timr)->it_incr; \
    > - (timr)->it_overrun++; \
    > + if ((timr)->it_overrun < DELAYTIMER_MAX)\
    > + (timr)->it_overrun++; \
    > }while (0)
    > #endif
    >

    --
    George Anzinger george@mvista.com
    High-res-timers: http://sourceforge.net/projects/high-res-timers/
    Preemption patch: http://www.kernel.org/pub/linux/kernel/people/rml

    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2005-03-22 13:35    [W:0.026 / U:30.208 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site