X-Git-Url: http://xvm.mit.edu/gitweb/invirt/third/libt4.git/blobdiff_plain/46fb2b4bbe3a0a8516ab04cfafa895a882c70f86..5d99dbf06a14904944f5593c63705934bdfdcfb7:/lock_server.cc?ds=sidebyside diff --git a/lock_server.cc b/lock_server.cc index d5e85a5..b724140 100644 --- a/lock_server.cc +++ b/lock_server.cc @@ -30,8 +30,8 @@ lock_state & lock_server::get_lock_state(lock_protocol::lockid_t lid) { } lock_server::lock_server(class rsm *_rsm) : rsm (_rsm) { - std::thread(&lock_server::revoker, this).detach(); - std::thread(&lock_server::retryer, this).detach(); + thread(&lock_server::revoker, this).detach(); + thread(&lock_server::retryer, this).detach(); rsm->set_state_transfer(this); } @@ -167,16 +167,14 @@ int lock_server::release(int &, lock_protocol::lockid_t lid, callback_t id, lock string lock_server::marshal_state() { lock sl(lock_table_lock); marshall rep; - rep << nacquire; - rep << lock_table; - return rep.str(); + rep << nacquire << lock_table; + return rep.content(); } void lock_server::unmarshal_state(string state) { lock sl(lock_table_lock); - unmarshall rep(state); - rep >> nacquire; - rep >> lock_table; + unmarshall rep(state, false); + rep >> nacquire >> lock_table; } lock_protocol::status lock_server::stat(int &r, lock_protocol::lockid_t lid) {