On Tue, 2011-12-13 at 08:58 +0200, Lauri Hintsala wrote: > Timestamp checking has been broken by the commit > 2078af333d704fd894a2dedbc19cef5775cdadbb. Fix timestamp checking > and clean the code. > > cc: [email protected] > cc: [email protected] > > Signed-off-by: Lauri Hintsala <[email protected]> > --- > .../initscripts/initscripts-1.0/bootmisc.sh | 12 ++++++------ > 1 files changed, 6 insertions(+), 6 deletions(-) > > diff --git a/meta/recipes-core/initscripts/initscripts-1.0/bootmisc.sh > b/meta/recipes-core/initscripts/initscripts-1.0/bootmisc.sh > index 03fd67c..6d68b35 100755 > --- a/meta/recipes-core/initscripts/initscripts-1.0/bootmisc.sh > +++ b/meta/recipes-core/initscripts/initscripts-1.0/bootmisc.sh > @@ -62,16 +62,16 @@ then > fi > > # Set the system clock from hardware clock > -# If the timestamp is 1 day or more recent than the current time, > +# If the timestamp is more recent than the current time, > # use the timestamp instead. > /etc/init.d/hwclock.sh start > if test -e /etc/timestamp > then > - SYSTEMDATE=`date -u +%2m%2d%2H%2M%4Y` > - read TIMESTAMP < /etc/timestamp > - NEEDUPDATE=`expr \( $TIMESTAMP \> $SYSTEMDATE + 10000 \)` > - if [ $NEEDUPDATE -eq 1 ]; then > - date -u $TIMESTAMP > + SYSTEMDATE=`date -u +%4Y%2m%2d` > + TIMESTAMP=`cat /etc/timestamp | awk '{ print substr($0,9,4) > substr($0,1,4); }'` > + NEEDUPDATE=`expr \( $TIMESTAMP \> $SYSTEMDATE \)` > + if [ $NEEDUPDATE -eq 1 ]; then > + date -u `cat /etc/timestamp` > /etc/init.d/hwclock.sh stop > fi > fi
For reference, the code in the boot process is trying not to cause fork/exec calls. This is why it does: read TIMESTAMP < /etc/timestamp since this is faster than forking to run cat. Could we fix this in a different way to avoid the fork/execs? I appreciate this is a small detail but over the whole boot process it mounts up! Cheers, Richard _______________________________________________ Openembedded-core mailing list [email protected] http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
