projects
/
silc.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merged silc_1_0_branch to trunk.
[silc.git]
/
lib
/
silcutil
/
win32
/
silcwin32schedule.c
diff --git
a/lib/silcutil/win32/silcwin32schedule.c
b/lib/silcutil/win32/silcwin32schedule.c
index e6aa6c9d04023df98dd58579359f8e755d11acbb..c3dedee37270ebcd574a59be92023d798fafed3e 100644
(file)
--- a/
lib/silcutil/win32/silcwin32schedule.c
+++ b/
lib/silcutil/win32/silcwin32schedule.c
@@
-53,7
+53,8
@@
int silc_select(SilcScheduleFd fds, SilcUInt32 fds_count, struct timeval *timeout)
{
HANDLE handles[MAXIMUM_WAIT_OBJECTS];
int silc_select(SilcScheduleFd fds, SilcUInt32 fds_count, struct timeval *timeout)
{
HANDLE handles[MAXIMUM_WAIT_OBJECTS];
- DWORD ready, curtime, timeo;
+ DWORD ready, curtime;
+ LONG timeo;
int nhandles = 0, i;
MSG msg;
int nhandles = 0, i;
MSG msg;
@@
-99,6
+100,7
@@
int silc_select(SilcScheduleFd fds, SilcUInt32 fds_count, struct timeval *timeou
KillTimer(NULL, timer);
if (timeo != INFINITE) {
timeo -= GetTickCount() - curtime;
KillTimer(NULL, timer);
if (timeo != INFINITE) {
timeo -= GetTickCount() - curtime;
+ curtime = GetTickCount();
if (timeo < 0)
timeo = 0;
}
if (timeo < 0)
timeo = 0;
}
@@
-137,6
+139,7
@@
int silc_select(SilcScheduleFd fds, SilcUInt32 fds_count, struct timeval *timeou
return and we will give the wait another try. */
if (timeo != INFINITE) {
timeo -= GetTickCount() - curtime;
return and we will give the wait another try. */
if (timeo != INFINITE) {
timeo -= GetTickCount() - curtime;
+ curtime = GetTickCount();
if (timeo < 0)
timeo = 0;
}
if (timeo < 0)
timeo = 0;
}
@@
-193,7
+196,7
@@
SILC_TASK_CALLBACK(silc_schedule_wakeup_cb)
the scheduler needs to be wakenup when tasks are added or removed from
the task queues. Returns context to the platform specific scheduler. */
the scheduler needs to be wakenup when tasks are added or removed from
the task queues. Returns context to the platform specific scheduler. */
-void *silc_schedule_internal_init(SilcSchedule schedule)
+void *silc_schedule_internal_init(SilcSchedule schedule
, void *app_context
)
{
#ifdef SILC_THREADS
SilcWin32Wakeup wakeup;
{
#ifdef SILC_THREADS
SilcWin32Wakeup wakeup;