diff options
Diffstat (limited to 'user_data.c')
-rw-r--r-- | user_data.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/user_data.c b/user_data.c index b6a8012..f92d4d4 100644 --- a/user_data.c +++ b/user_data.c @@ -97,19 +97,20 @@ void userdata_unregister(i64 userid,int fd){ } } -void userdata_mark_active(i64 userid,int fd){ +void userdata_mark_active(i64 userid,int fd,bool active){ struct hash_item *item=find_userdata(userid); if(!item){ - die("userdata_mark_active(%" PRIi64 ") while nonexistent",userid); + die("userdata_mark_active(%" PRIi64 ", %d, %d) with nonexistent userid",userid,fd,active); } i64 i; for(i=0;i<item->data.len;i++){ if(item->data.fds[i]==fd)break; } if(i==item->data.len){ - die("userdata_mark_active(%" PRIi64 ", %d) while nonexistent",userid,fd); + die("userdata_mark_active(%" PRIi64 ", %d, %d) while nonexistent",userid,fd,active); } - item->data.last_active[i]=make_timestamp(); + + item->data.last_active[i]=active?make_timestamp():-1; } bool userdata_is_active(i64 userid){ |