summaryrefslogtreecommitdiff
path: root/fatfs/pager.c
diff options
context:
space:
mode:
Diffstat (limited to 'fatfs/pager.c')
-rw-r--r--fatfs/pager.c28
1 files changed, 3 insertions, 25 deletions
diff --git a/fatfs/pager.c b/fatfs/pager.c
index f855ecfc..0c590841 100644
--- a/fatfs/pager.c
+++ b/fatfs/pager.c
@@ -756,21 +756,6 @@ pager_dropweak (struct user_pager_info *p __attribute__ ((unused)))
{
}
-/* A top-level function for the paging thread that just services paging
- requests. */
-static void *
-service_paging_requests (void *arg)
-{
- struct port_bucket *pager_bucket = arg;
- ports_manage_port_operations_multithread (pager_bucket,
- pager_demuxer,
- 1000,
- 0,
- NULL);
- /* Not reached. */
- return NULL;
-}
-
/* Create the disk pager. */
void
create_fat_pager (void)
@@ -790,17 +775,10 @@ create_fat_pager (void)
/* The file pager. */
file_pager_bucket = ports_create_bucket ();
-#define STACK_SIZE (64 * 1024)
- pthread_attr_init (&attr);
- pthread_attr_setstacksize (&attr, STACK_SIZE);
-#undef STACK_SIZE
-
- /* Make a thread to service file paging requests. */
- err = pthread_create (&thread, &attr,
- service_paging_requests, file_pager_bucket);
+ /* Start libpagers worker threads. */
+ err = pager_start_workers (file_pager_bucket);
if (err)
- error (2, err, "pthread_create");
- pthread_detach (thread);
+ error (2, err, "can't create libpager worker threads");
}
/* Call this to create a FILE_DATA pager and return a send right.