Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Open sidebar
Main
Synchronet
Commits
ab402ebc
Commit
ab402ebc
authored
May 26, 2004
by
deuce
Browse files
Clean up internal timer functions.
parent
627f0464
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
4 additions
and
24 deletions
+4
-24
src/odoors/ODPlat.c
src/odoors/ODPlat.c
+3
-22
src/odoors/ODPlat.h
src/odoors/ODPlat.h
+1
-2
No files found.
src/odoors/ODPlat.c
View file @
ab402ebc
...
...
@@ -579,8 +579,7 @@ void ODTimerStart(tODTimer *pTimer, tODMilliSec Duration)
#ifdef ODPLAT_NIX
gettimeofday
(
&
tv
,
NULL
);
pTimer
->
Start_sec
=
tv
.
tv_sec
;
pTimer
->
Start_usec
=
tv
.
tv_usec
;
pTimer
->
Start
=
(
long
long
)
tv
.
tv_sec
*
1000
+
tv
.
tv_usec
/
1000
;
pTimer
->
Duration
=
Duration
;
#endif
}
...
...
@@ -654,19 +653,7 @@ void ODTimerWaitForElapse(tODTimer *pTimer)
#elif defined(ODPLAT_NIX)
/* This is timing sensitive and *MUST* wait regardless of 100% CPU or signals */
while
(
1
)
{
gettimeofday
(
&
tv
,
NULL
);
tv
.
tv_sec
-=
(
pTimer
->
Start_sec
+
pTimer
->
Duration
/
1000
);
tv
.
tv_usec
-=
(
pTimer
->
Start_usec
+
((
pTimer
->
Duration
*
1000
)
%
1000000
));
if
(
tv
.
tv_usec
<
0
)
{
tv
.
tv_sec
--
;
tv
.
tv_usec
+=
1000000
;
}
if
(
tv
.
tv_sec
<
0
||
tv
.
tv_usec
<
0
)
return
;
if
(
!
select
(
0
,
NULL
,
NULL
,
NULL
,
&
tv
))
break
;
}
od_sleep
(
ODTimerLeft
(
pTimer
));
#else
/* !ODPLAT_DOS */
{
/* Under other platforms, timer resolution is high enough that we can */
...
...
@@ -731,13 +718,7 @@ tODMilliSec ODTimerLeft(tODTimer *pTimer)
}
#elif defined(ODPLAT_NIX)
gettimeofday
(
&
tv
,
NULL
);
tv
.
tv_sec
-=
pTimer
->
Start_sec
;
tv
.
tv_usec
-=
pTimer
->
Start_usec
;
if
(
tv
.
tv_usec
<
0
)
{
tv
.
tv_sec
--
;
tv
.
tv_usec
+=
1000000
;
}
left
=
(
tv
.
tv_usec
/
1000
)
+
(
tv
.
tv_sec
*
1000
);
left
=
(
long
long
)
tv
.
tv_sec
*
1000
+
tv
.
tv_usec
/
1000
-
pTimer
->
Start
;
if
(
left
<
0
)
left
=
0
;
return
(
left
);
...
...
src/odoors/ODPlat.h
View file @
ab402ebc
...
...
@@ -72,8 +72,7 @@ typedef struct
clock_t
Start
;
clock_t
Duration
;
#elif defined(ODPLAT_NIX)
long
Start_sec
;
long
Start_usec
;
long
long
Start
;
tODMilliSec
Duration
;
#else
/* !ODPLAT_DOS */
tODMilliSec
Start
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment