ASSERTCMP(atomic_read(&trans->usage), >, 0);
- trans->put_time = xtime.tv_sec;
- if (unlikely(atomic_dec_and_test(&trans->usage)))
+ trans->put_time = get_seconds();
+ if (unlikely(atomic_dec_and_test(&trans->usage))) {
_debug("zombie");
/* let the reaper determine the timeout to avoid a race with
* overextending the timeout if the reaper is running at the
* same time */
- schedule_delayed_work(&rxrpc_transport_reap, 0);
+ rxrpc_queue_delayed_work(&rxrpc_transport_reap, 0);
+ }
_leave("");
}
_enter("");
- now = xtime.tv_sec;
+ now = get_seconds();
earliest = ULONG_MAX;
/* extract all the transports that have been dead too long */
if (earliest != ULONG_MAX) {
_debug("reschedule reaper %ld", (long) earliest - now);
ASSERTCMP(earliest, >, now);
- schedule_delayed_work(&rxrpc_transport_reap,
- (earliest - now) * HZ);
+ rxrpc_queue_delayed_work(&rxrpc_transport_reap,
+ (earliest - now) * HZ);
}
/* then destroy all those pulled out */
rxrpc_transport_timeout = 0;
cancel_delayed_work(&rxrpc_transport_reap);
- schedule_delayed_work(&rxrpc_transport_reap, 0);
+ rxrpc_queue_delayed_work(&rxrpc_transport_reap, 0);
_leave("");
}