Comment a accepted:

long get_uptime_in_sec(void)
{
        long ret;
        struct sysinfo *info = 
                        (struct sysinfo*)malloc(sizeof(struct sysinfo));
        
        if(sysinfo(info) < 0)
        {
                perror("Getting uptime");
                return -1;
        }
        
        ret = info->uptime;
        free(info);

        return ret;
}

I just wanted to show the main concept, that the usage of uptime is
safer and more precise then the usage of local time. What about the
platforms, so I checked it on the ARM9 System running uCLinux. I don't
think sysinfo call is portable. But I think every architecture should
offer the function to obtain the uptime. GetTickCount() under Windows
for example. One can define a macro to unite all architecture dependent
system calls.

Best regards,

Yegor Yefremov

>On Mon, 2005-08-15 at 11:03 +0200, Yegor Yefremov wrote:
>> Snmpv3_local_snmpEngineTime() gives a difference between start time
and
>> now in seconds. It means when you change the year you have too big
>> difference. But actually one wants to know the time difference from
>> system start (snmpv3 engine start time).
>> 
>> So I defined following function in system.c (and added a prototype to
>> system.h):
>> 
>> long get_uptime_in_sec(void)
>> {
>>      struct sysinfo *info =
>>      (struct sysinfo*)malloc(sizeof(struct sysinfo));
>>      
>>      if(sysinfo(info) < 0)
>>      {
>>              perror("Getting uptime");
>>              return -1;
>>      }
>>      
>>      return info->uptime;
>> }
>
>Two comments/questions:
>
>  a)  Doesn't this introduce a memory leak?
>You appear to be allocating new memory every time that
>'get_uptime_in_sec' is called, and never releasing it.
>
>  b)  What architecture(s) have you tried this with?
>How portable is the 'sysinfo' call?
>
>Dave




-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
_______________________________________________
Net-snmp-coders mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/net-snmp-coders

Reply via email to