// lock_revoke_server.
class lock_client {
private:
- rpcc *cl;
+ unique_ptr<rpcc> cl;
+ unique_ptr<rpcs> rlsrpc;
thread releaser_thread;
- rsm_client *rsmc;
+ unique_ptr<rsm_client> rsmc;
lock_release_user *lu;
in_port_t rlock_port;
string hostname;
fifo<lock_protocol::lockid_t> release_fifo;
mutex lock_table_lock;
lock_map lock_table;
- lock_state &get_lock_state(lock_protocol::lockid_t lid);
+ lock_state & get_lock_state(lock_protocol::lockid_t lid);
public:
static in_port_t last_port;
lock_client(string xdst, lock_release_user *l = 0);
lock_protocol::status acquire(lock_protocol::lockid_t);
lock_protocol::status release(lock_protocol::lockid_t);
int stat(lock_protocol::lockid_t);
- void releaser();
+ void releaser NORETURN ();
rlock_protocol::status revoke_handler(int &, lock_protocol::lockid_t, lock_protocol::xid_t);
rlock_protocol::status retry_handler(int &, lock_protocol::lockid_t, lock_protocol::xid_t);
};