| 123456789101112131415161718192021222324 |
- #include "value-expanders.h"
- bool commit_managed(ValueManager* managed, void* value) {
- if(value != managed->mutex->value) return false;
- notify_pubsub(&managed->pubsub, value);
-
- if(!osMutexGive(managed->mutex)) return false;
-
- return true;
- }
- bool write_managed(ValueManager* managed, void* data, size_t len, uint32_t timeout) {
- void* value = acquire_mutex(managed->mutex, timeout);
- if(value == NULL) return false;
- memcpy(value, data, len):
- notify_pubsub(&managed->pubsub, value);
- if(!release_mutex(managed->mutex, value)) return false;
-
- return true;
- }
|