aboutsummaryrefslogtreecommitdiff
path: root/stdlib/stdlib.c
diff options
context:
space:
mode:
authorBruce Hill <bruce@bruce-hill.com>2025-01-02 20:29:55 -0500
committerBruce Hill <bruce@bruce-hill.com>2025-01-02 20:29:55 -0500
commitb025cf269d2e07e179be4a0e34d936862dc640c2 (patch)
tree6bcce81829436a08dbe4f0101044c0cd07811525 /stdlib/stdlib.c
parent500e4e1bd74b45476c4df0f4f9da72fbada9bb18 (diff)
Use `holding` blocks for mutexed data instead of lambdas
Diffstat (limited to 'stdlib/stdlib.c')
-rw-r--r--stdlib/stdlib.c30
1 files changed, 0 insertions, 30 deletions
diff --git a/stdlib/stdlib.c b/stdlib/stdlib.c
index 0266e788..cb9d2213 100644
--- a/stdlib/stdlib.c
+++ b/stdlib/stdlib.c
@@ -621,34 +621,4 @@ public void sleep_num(double seconds)
nanosleep(&ts, NULL);
}
-static void use_mutexed(Closure_t fn, void *userdata)
-{
- void (*call)(void*, void*) = fn.fn;
- struct data_t {
- pthread_mutex_t mutex;
- char item[0] __attribute__ ((aligned (8)));
- };
- pthread_mutex_t *mutex = &((struct data_t*)userdata)->mutex;
- pthread_mutex_lock(mutex);
- void *mutexed_item = (void*)((struct data_t*)userdata)->item;
- call(mutexed_item, fn.userdata);
- pthread_mutex_unlock(mutex);
-}
-
-public Closure_t _mutexed(const void *item, size_t size)
-{
- struct data_t {
- pthread_mutex_t mutex;
- char item[size] __attribute__ ((aligned (8)));
- };
- struct data_t *userdata = GC_MALLOC(sizeof(struct data_t));
-
- pthread_mutex_init(&userdata->mutex, NULL);
- memcpy(userdata->item, item, size);
- return (Closure_t){
- .fn=(void*)use_mutexed,
- .userdata=(void*)userdata,
- };
-}
-
// vim: ts=4 sw=0 et cino=L2,l1,(0,W4,m1,\:0