diff options
| author | 2024-12-27 15:24:00 -0500 | |
|---|---|---|
| committer | 2024-12-27 15:24:00 -0500 | |
| commit | 20003fd25404ee5fc4cd068fbc4fae1ad6f6ae99 (patch) | |
| tree | 70078930432a353df7223e18eaad3f617e220c1b /src/cache | |
| parent | 4af2d16c06a8a67ab225caa61ccd94df3c572bdc (diff) | |
| download | camu-20003fd25404ee5fc4cd068fbc4fae1ad6f6ae99.tar.gz camu-20003fd25404ee5fc4cd068fbc4fae1ad6f6ae99.tar.bz2 camu-20003fd25404ee5fc4cd068fbc4fae1ad6f6ae99.zip | |
Finish server reuse connection, move loop to list
Signed-off-by: Andrew Opalach <andrew@akon.city>
Diffstat (limited to 'src/cache')
| -rw-r--r-- | src/cache/handle.c | 5 | ||||
| -rw-r--r-- | src/cache/handle.h | 1 | ||||
| -rw-r--r-- | src/cache/threaded_waits.c | 7 | ||||
| -rw-r--r-- | src/cache/threaded_waits.h | 1 |
4 files changed, 14 insertions, 0 deletions
diff --git a/src/cache/handle.c b/src/cache/handle.c index 206738e..dddf172 100644 --- a/src/cache/handle.c +++ b/src/cache/handle.c @@ -97,3 +97,8 @@ void cch_handle_disable(struct cch_handle *handle) { cch_threaded_wait_disable(&handle->wait); } + +void cch_handle_enable(struct cch_handle *handle) +{ + cch_threaded_wait_enable(&handle->wait); +} diff --git a/src/cache/handle.h b/src/cache/handle.h index fc84109..007e04d 100644 --- a/src/cache/handle.h +++ b/src/cache/handle.h @@ -18,3 +18,4 @@ s32 cch_handle_read(struct cch_handle *handle, u8 *buf, s32 size); off_t cch_handle_seek(struct cch_handle *handle, off_t offset, s32 whence); bool cch_handle_can_seek(struct cch_handle *handle); void cch_handle_disable(struct cch_handle *handle); +void cch_handle_enable(struct cch_handle *handle); diff --git a/src/cache/threaded_waits.c b/src/cache/threaded_waits.c index 3bf67eb..5990783 100644 --- a/src/cache/threaded_waits.c +++ b/src/cache/threaded_waits.c @@ -76,6 +76,13 @@ void cch_threaded_wait_disable(struct cch_handler_wait *wait) nn_mutex_unlock(&wait->mutex); } +void cch_threaded_wait_enable(struct cch_handler_wait *wait) +{ + nn_mutex_lock(&wait->mutex); + wait->disabled = false; + nn_mutex_unlock(&wait->mutex); +} + void cch_threaded_waits_disable_all(struct cch_handler *handler) { nn_mutex_lock(&handler->mutex); diff --git a/src/cache/threaded_waits.h b/src/cache/threaded_waits.h index ee0838d..f8c05a2 100644 --- a/src/cache/threaded_waits.h +++ b/src/cache/threaded_waits.h @@ -9,6 +9,7 @@ void cch_threaded_waits_init(struct cch_handler *handler); bool cch_threaded_wait_for_range(struct cch_handler *handler, struct cch_backing *backing, struct cch_handler_wait *wait); void cch_threaded_waits_signal_any(struct cch_handler *handler); void cch_threaded_wait_disable(struct cch_handler_wait *wait); +void cch_threaded_wait_enable(struct cch_handler_wait *wait); void cch_threaded_waits_disable_all(struct cch_handler *handler); void cch_threaded_waits_evaluate(struct cch_handler *handler, struct cch_backing *backing); void cch_threaded_waits_close(struct cch_handler *handler); |