 
     _run: (cb) =>
         if @_closed
-            throw Error("object is closed")
+            @_unclose('_run')
+            cb?("closed")
+            return
         first_resp = true
         #console.log("query #{@_table}: _run")
         @_client.query

        delete @_value_local
        delete @_value_server
        @_client.removeListener('connected', @_reconnect)


exports.SyncTable = SyncTable
                            console.warn("query #{@_table}: _run: not first error -- ", err)
                        @_reconnect()
                    else
                        if resp?.event != 'query_cancel'
                            @_update_change(resp)

    _save: (cb) =>
        #console.log("_save(#{@_table})")
