server: Change the timeout handling to use NT-style 64-bit timeouts everywhere.
diff --git a/server/trace.c b/server/trace.c
index 171b836..44cf32e 100644
--- a/server/trace.c
+++ b/server/trace.c
@@ -64,25 +64,9 @@
fputc( '}', stderr );
}
-static void dump_abs_time( const abs_time_t *time )
+static void dump_timeout( const timeout_t *time )
{
- int secs, usecs;
-
- if (!time->sec && !time->usec)
- {
- fprintf( stderr, "0" );
- return;
- }
- secs = time->sec - current_time.tv_sec;
- if ((usecs = time->usec - current_time.tv_usec) < 0)
- {
- usecs += 1000000;
- secs--;
- }
- if (secs > 0 || (secs == 0 && usecs >= 0))
- fprintf( stderr, "%d.%06d (+%d.%06d)", time->sec, time->usec, secs, usecs );
- else
- fprintf( stderr, "%d.%06d (-%d.%06d)", time->sec, time->usec, abs(secs+1), 1000000-usecs );
+ fprintf( stderr, get_timeout_str(*time) );
}
static void dump_rectangle( const rectangle_t *rect )
@@ -112,7 +96,7 @@
break;
case APC_TIMER:
fprintf( stderr, "APC_TIMER,time=" );
- dump_abs_time( &call->timer.time );
+ dump_timeout( &call->timer.time );
fprintf( stderr, ",arg=%p", call->timer.arg );
break;
case APC_ASYNC_IO:
@@ -862,7 +846,7 @@
fprintf( stderr, " tid=%04x,", req->tid );
fprintf( stderr, " info_size=%u,", req->info_size );
fprintf( stderr, " server_start=" );
- dump_abs_time( &req->server_start );
+ dump_timeout( &req->server_start );
fprintf( stderr, "," );
fprintf( stderr, " version=%d", req->version );
}
@@ -904,10 +888,10 @@
fprintf( stderr, " affinity=%d,", req->affinity );
fprintf( stderr, " peb=%p,", req->peb );
fprintf( stderr, " start_time=" );
- dump_abs_time( &req->start_time );
+ dump_timeout( &req->start_time );
fprintf( stderr, "," );
fprintf( stderr, " end_time=" );
- dump_abs_time( &req->end_time );
+ dump_timeout( &req->end_time );
}
static void dump_set_process_info_request( const struct set_process_info_request *req )
@@ -933,10 +917,10 @@
fprintf( stderr, " priority=%d,", req->priority );
fprintf( stderr, " affinity=%d,", req->affinity );
fprintf( stderr, " creation_time=" );
- dump_abs_time( &req->creation_time );
+ dump_timeout( &req->creation_time );
fprintf( stderr, "," );
fprintf( stderr, " exit_time=" );
- dump_abs_time( &req->exit_time );
+ dump_timeout( &req->exit_time );
fprintf( stderr, "," );
fprintf( stderr, " last=%d", req->last );
}
@@ -1105,12 +1089,18 @@
fprintf( stderr, " cookie=%p,", req->cookie );
fprintf( stderr, " signal=%p,", req->signal );
fprintf( stderr, " timeout=" );
- dump_abs_time( &req->timeout );
+ dump_timeout( &req->timeout );
fprintf( stderr, "," );
fprintf( stderr, " handles=" );
dump_varargs_handles( cur_size );
}
+static void dump_select_reply( const struct select_reply *req )
+{
+ fprintf( stderr, " timeout=" );
+ dump_timeout( &req->timeout );
+}
+
static void dump_create_event_request( const struct create_event_request *req )
{
fprintf( stderr, " access=%08x,", req->access );
@@ -2056,7 +2046,7 @@
{
fprintf( stderr, " handle=%p,", req->handle );
fprintf( stderr, " expire=" );
- dump_abs_time( &req->expire );
+ dump_timeout( &req->expire );
fprintf( stderr, "," );
fprintf( stderr, " period=%d,", req->period );
fprintf( stderr, " callback=%p,", req->callback );
@@ -2086,7 +2076,7 @@
static void dump_get_timer_info_reply( const struct get_timer_info_reply *req )
{
fprintf( stderr, " when=" );
- dump_abs_time( &req->when );
+ dump_timeout( &req->when );
fprintf( stderr, "," );
fprintf( stderr, " signaled=%d", req->signaled );
}
@@ -2257,7 +2247,9 @@
fprintf( stderr, " msg=%08x,", req->msg );
fprintf( stderr, " wparam=%lx,", req->wparam );
fprintf( stderr, " lparam=%lx,", req->lparam );
- fprintf( stderr, " timeout=%d,", req->timeout );
+ fprintf( stderr, " timeout=" );
+ dump_timeout( &req->timeout );
+ fprintf( stderr, "," );
fprintf( stderr, " data=" );
dump_varargs_message_data( cur_size );
}
@@ -2423,7 +2415,9 @@
fprintf( stderr, " maxinstances=%08x,", req->maxinstances );
fprintf( stderr, " outsize=%08x,", req->outsize );
fprintf( stderr, " insize=%08x,", req->insize );
- fprintf( stderr, " timeout=%08x,", req->timeout );
+ fprintf( stderr, " timeout=" );
+ dump_timeout( &req->timeout );
+ fprintf( stderr, "," );
fprintf( stderr, " name=" );
dump_varargs_unicode_str( cur_size );
}
@@ -2446,7 +2440,9 @@
fprintf( stderr, " async=" );
dump_async_data( &req->async );
fprintf( stderr, "," );
- fprintf( stderr, " timeout=%08x,", req->timeout );
+ fprintf( stderr, " timeout=" );
+ dump_timeout( &req->timeout );
+ fprintf( stderr, "," );
fprintf( stderr, " name=" );
dump_varargs_unicode_str( cur_size );
}
@@ -3336,7 +3332,9 @@
fprintf( stderr, " attributes=%08x,", req->attributes );
fprintf( stderr, " rootdir=%p,", req->rootdir );
fprintf( stderr, " max_msgsize=%08x,", req->max_msgsize );
- fprintf( stderr, " read_timeout=%d,", req->read_timeout );
+ fprintf( stderr, " read_timeout=" );
+ dump_timeout( &req->read_timeout );
+ fprintf( stderr, "," );
fprintf( stderr, " name=" );
dump_varargs_unicode_str( cur_size );
}
@@ -3350,13 +3348,15 @@
{
fprintf( stderr, " handle=%p,", req->handle );
fprintf( stderr, " flags=%08x,", req->flags );
- fprintf( stderr, " read_timeout=%d", req->read_timeout );
+ fprintf( stderr, " read_timeout=" );
+ dump_timeout( &req->read_timeout );
}
static void dump_set_mailslot_info_reply( const struct set_mailslot_info_reply *req )
{
fprintf( stderr, " max_msgsize=%08x,", req->max_msgsize );
- fprintf( stderr, " read_timeout=%d", req->read_timeout );
+ fprintf( stderr, " read_timeout=" );
+ dump_timeout( &req->read_timeout );
}
static void dump_create_directory_request( const struct create_directory_request *req )
@@ -3706,7 +3706,7 @@
(dump_func)dump_dup_handle_reply,
(dump_func)dump_open_process_reply,
(dump_func)dump_open_thread_reply,
- (dump_func)0,
+ (dump_func)dump_select_reply,
(dump_func)dump_create_event_reply,
(dump_func)0,
(dump_func)dump_open_event_reply,