Remove needless mutex locks and unlocks

This commit is contained in:
kamkow1
2025-06-28 02:16:42 +02:00
parent 2e70abd0de
commit 48f4a73b0a
4 changed files with 3 additions and 36 deletions

19
baked.c
View File

@ -13,16 +13,6 @@ INCBIN(bundle_zip, "./bundle.zip");
static locked(Baked_Resource *) baked_resources = locked_init(nil);
void lock_baked_resources(void)
{
lockx(&baked_resources);
}
void unlock_baked_resources(void)
{
unlockx(&baked_resources);
}
void add_baked_resource(char *key, const uchar *data, size_t size)
{
int fd = memfd_create(key, 0);
@ -36,8 +26,6 @@ void add_baked_resource(char *key, const uchar *data, size_t size)
void init_baked_resources(void)
{
lockx(&baked_resources);
struct zip_t *zip = zip_stream_open(bundle_zip_data, bundle_zip_size, BUNDLE_ZIP_COMPRESSION, 'r');
size_t n = zip_entries_total(zip);
for (size_t i = 0; i < n; i++) {
@ -53,29 +41,28 @@ void init_baked_resources(void)
zip_entry_close(zip);
}
zip_stream_close(zip);
unlockx(&baked_resources);
}
void free_baked_resources(void)
{
lockx(&baked_resources);
for (size_t i = 0; i < shlen(baked_resources.value); i++) {
close(baked_resources.value[i].value.memfd);
free(baked_resources.value[i].key);
free(baked_resources.value[i].value.bufptr);
}
shfree(baked_resources.value);
unlockx(&baked_resources);
}
bool get_baked_resource_path(char *key, char *buf, size_t size)
{
lockx(&baked_resources);
if (shgeti(baked_resources.value, key) != -1) {
Baked_Resource_Value brv = shget(baked_resources.value, key);
snprintf(buf, size, "/proc/%d/fd/%d", getpid(), brv.memfd);
unlockx(&baked_resources);
return true;
}
unlockx(&baked_resources);
return false;
}

View File

@ -15,7 +15,5 @@ void init_baked_resources(void);
void free_baked_resources(void);
bool get_baked_resource_path(char *key, char *buf, size_t size);
void baked_resource_each(void (*f)(Baked_Resource *resource, void *udata), void *udata);
void lock_baked_resources(void);
void unlock_baked_resources(void);
#endif // BAKED_H_

10
main.c
View File

@ -157,7 +157,6 @@ void route_hashtable_put_blogs(Baked_Resource *resource, void *udata)
void init_route_hashtable(void)
{
lockx(&route_hashtable);
shdefault(route_hashtable.value, &route_page_not_found);
shput(route_hashtable.value, clonestr_alloc(&default_allocator, "/"), &route_home);
shput(route_hashtable.value, clonestr_alloc(&default_allocator, "/page-missing"), &route_page_not_found);
@ -167,17 +166,14 @@ void init_route_hashtable(void)
#endif
baked_resource_each(&route_hashtable_put_blogs, nil);
unlockx(&route_hashtable);
}
void free_route_hashtable(void)
{
lockx(&route_hashtable);
for (size_t i = 0; i < shlen(route_hashtable.value); i++) {
free(route_hashtable.value[i].key);
}
shfree(route_hashtable.value);
unlockx(&route_hashtable);
}
char *init_baked_dump(void)
@ -261,9 +257,7 @@ void copy_baked_resources_to_baked_dump(Baked_Resource *resource, void *udata)
void populate_baked_dump(char *baked_dump)
{
lock_baked_resources();
baked_resource_each(&copy_baked_resources_to_baked_dump, baked_dump);
unlock_baked_resources();
}
volatile sig_atomic_t alive = true;
@ -281,12 +275,10 @@ int main(int argc, char ** argv)
start_timer();
init_baked_resources();
lockx(&baked_dump_path);
if ((baked_dump_path.value = init_baked_dump()) == nil) {
return 1;
}
populate_baked_dump(baked_dump_path.value);
unlockx(&baked_dump_path);
mg_log_set(MG_LL_DEBUG);
struct mg_mgr mgr;
@ -304,9 +296,7 @@ int main(int argc, char ** argv)
mg_mgr_free(&mgr);
lockx(&baked_dump_path);
free_baked_dump(baked_dump_path.value);
unlockx(&baked_dump_path);
free_baked_resources();
return 0;

View File

@ -95,8 +95,6 @@ void route_build_id(Allocator *alloc, struct mg_http_message *msg, Route_Result
void route_page_not_found(Allocator *alloc, struct mg_http_message *msg, Route_Result *result, void *context_data)
{
lock_baked_resources();
defer { unlock_baked_resources(); }
NString_List env = {0};
list_append_alloc(alloc, &env, clonestr_alloc(alloc, fmt("-DURL=%.*s", msg->uri.len, msg->uri.buf)));
@ -132,8 +130,6 @@ void route_page_not_found(Allocator *alloc, struct mg_http_message *msg, Route_R
void route_home(Allocator *alloc, struct mg_http_message *msg, Route_Result *result, void *context_data)
{
lock_baked_resources();
defer { unlock_baked_resources(); }
NString_List env = {0};
String_Builder out = {0};
@ -167,8 +163,6 @@ void route_home(Allocator *alloc, struct mg_http_message *msg, Route_Result *res
void route_generic_blog(Allocator *alloc, struct mg_http_message *msg, Route_Result *result, void *context_data)
{
lock_baked_resources();
defer { unlock_baked_resources(); }
NString_List env = {0};
String_Builder out = {0};
@ -253,8 +247,6 @@ void collect_blogs(Baked_Resource *resource, void *udata)
void route_blog(Allocator *alloc, struct mg_http_message *msg, Route_Result *result, void *context_data)
{
lock_baked_resources();
defer { unlock_baked_resources(); }
NString_List env = {0};
String_Builder out = {0};