diff options
author | Richard Braun <rbraun@sceen.net> | 2012-09-04 00:33:09 +0200 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2012-11-27 22:58:15 +0100 |
commit | 1de0643c9218db536f5b2e294bbfa653c77438e4 (patch) | |
tree | f944e1b023cf0353ca559d22e1f7b701bac04c97 /libfshelp | |
parent | 7648503cd894549874ff13f7ed94a4708cf50f0d (diff) |
Switch from cthreads to pthreads
Makefiles, headers, types, macros and function calls are renamed where
appropriate.
Most of this work was done by Barry deFreese and Thomas DiModica.
* auth/Makefile: Switch from cthreads to pthreads.
* auth/auth.c: Likewise.
* boot/Makefile: Likewise.
* boot/boot.c: Likewise.
* boot/ux.c: Likewise.
* console-client/Makefile: Likewise.
* console-client/console.c: Likewise.
* console-client/driver.c: Likewise.
* console-client/driver.h: Likewise.
* console-client/generic-speaker.c: Likewise.
* console-client/kbd-repeat.c: Likewise.
* console-client/ncursesw.c: Likewise.
* console-client/pc-kbd.c: Likewise.
* console-client/pc-mouse.c: Likewise.
* console-client/timer.c: Likewise.
* console-client/trans.c: Likewise.
* console-client/vga.c: Likewise.
* console/Makefile: Likewise.
* console/console.c: Likewise.
* console/display.c: Likewise.
* console/input.c: Likewise.
* console/pager.c: Likewise.
* defpager/backing.c: Likewise.
* exec/Makefile: Likewise.
* exec/exec.c: Likewise.
* exec/hashexec.c: Likewise.
* exec/priv.h: Likewise.
* ext2fs/Makefile: Likewise.
* ext2fs/balloc.c: Likewise.
* ext2fs/dir.c: Likewise.
* ext2fs/ext2fs.c: Likewise.
* ext2fs/ext2fs.h: Likewise.
* ext2fs/ialloc.c: Likewise.
* ext2fs/inode.c: Likewise.
* ext2fs/msg.c: Likewise.
* ext2fs/pager.c: Likewise.
* ext2fs/pokel.c: Likewise.
* ext2fs/storeinfo.c: Likewise.
* ext2fs/truncate.c: Likewise.
* fatfs/Makefile: Likewise.
* fatfs/dir.c: Likewise.
* fatfs/fat.c: Likewise.
* fatfs/fatfs.h: Likewise.
* fatfs/inode.c: Likewise.
* fatfs/main.c: Likewise.
* fatfs/pager.c: Likewise.
* fatfs/virt-inode.c: Likewise.
* ftpfs/Makefile: Likewise.
* ftpfs/ccache.c: Likewise.
* ftpfs/ccache.h: Likewise.
* ftpfs/conn.c: Likewise.
* ftpfs/dir.c: Likewise.
* ftpfs/fs.c: Likewise.
* ftpfs/ftpfs.c: Likewise.
* ftpfs/ftpfs.h: Likewise.
* ftpfs/ncache.c: Likewise.
* ftpfs/netfs.c: Likewise.
* ftpfs/node.c: Likewise.
* hostmux/Makefile: Likewise.
* hostmux/hostmux.h: Likewise.
* hostmux/mux.c: Likewise.
* hostmux/node.c: Likewise.
* hostmux/stubs.c: Likewise.
* hurd/shared.h: Likewise.
* isofs/Makefile: Likewise.
* isofs/inode.c: Likewise.
* isofs/lookup.c: Likewise.
* isofs/main.c: Likewise.
* isofs/pager.c: Likewise.
* libcons/Makefile: Likewise.
* libcons/cons-switch.c: Likewise.
* libcons/cons.h: Likewise.
* libcons/dir-changed.c: Likewise.
* libcons/file-changed.c: Likewise.
* libcons/init-init.c: Likewise.
* libcons/vcons-close.c: Likewise.
* libcons/vcons-input.c: Likewise.
* libcons/vcons-move-mouse.c: Likewise.
* libcons/vcons-open.c: Likewise.
* libcons/vcons-scrollback.c: Likewise.
* libdiskfs/Makefile: Likewise.
* libdiskfs/boot-start.c: Likewise.
* libdiskfs/dead-name.c: Likewise.
* libdiskfs/dir-chg.c: Likewise.
* libdiskfs/dir-link.c: Likewise.
* libdiskfs/dir-lookup.c: Likewise.
* libdiskfs/dir-mkdir.c: Likewise.
* libdiskfs/dir-mkfile.c: Likewise.
* libdiskfs/dir-readdir.c: Likewise.
* libdiskfs/dir-rename.c: Likewise.
* libdiskfs/dir-renamed.c: Likewise.
* libdiskfs/dir-rmdir.c: Likewise.
* libdiskfs/dir-unlink.c: Likewise.
* libdiskfs/disk-pager.c: Likewise.
* libdiskfs/diskfs-pager.h: Likewise.
* libdiskfs/diskfs.h: Likewise.
* libdiskfs/file-access.c: Likewise.
* libdiskfs/file-chg.c: Likewise.
* libdiskfs/file-exec.c: Likewise.
* libdiskfs/file-get-fs-opts.c: Likewise.
* libdiskfs/file-get-trans.c: Likewise.
* libdiskfs/file-get-transcntl.c: Likewise.
* libdiskfs/file-getcontrol.c: Likewise.
* libdiskfs/file-getfh.c: Likewise.
* libdiskfs/file-lock-stat.c: Likewise.
* libdiskfs/file-lock.c: Likewise.
* libdiskfs/file-reparent.c: Likewise.
* libdiskfs/file-set-trans.c: Likewise.
* libdiskfs/file-sync.c: Likewise.
* libdiskfs/file-syncfs.c: Likewise.
* libdiskfs/fsys-getroot.c: Likewise.
* libdiskfs/fsys-options.c: Likewise.
* libdiskfs/fsys-syncfs.c: Likewise.
* libdiskfs/ifsock.c: Likewise.
* libdiskfs/init-first.c: Likewise.
* libdiskfs/init-init.c: Likewise.
* libdiskfs/init-startup.c: Likewise.
* libdiskfs/io-duplicate.c: Likewise.
* libdiskfs/io-get-conch.c: Likewise.
* libdiskfs/io-identity.c: Likewise.
* libdiskfs/io-map-cntl.c: Likewise.
* libdiskfs/io-map.c: Likewise.
* libdiskfs/io-modes-get.c: Likewise.
* libdiskfs/io-modes-off.c: Likewise.
* libdiskfs/io-modes-on.c: Likewise.
* libdiskfs/io-modes-set.c: Likewise.
* libdiskfs/io-owner-get.c: Likewise.
* libdiskfs/io-owner-mod.c: Likewise.
* libdiskfs/io-prenotify.c: Likewise.
* libdiskfs/io-read.c: Likewise.
* libdiskfs/io-readable.c: Likewise.
* libdiskfs/io-reauthenticate.c: Likewise.
* libdiskfs/io-rel-conch.c: Likewise.
* libdiskfs/io-restrict-auth.c: Likewise.
* libdiskfs/io-revoke.c: Likewise.
* libdiskfs/io-seek.c: Likewise.
* libdiskfs/io-sigio.c: Likewise.
* libdiskfs/io-stat.c: Likewise.
* libdiskfs/io-write.c: Likewise.
* libdiskfs/lookup.c: Likewise.
* libdiskfs/name-cache.c: Likewise.
* libdiskfs/node-drop.c: Likewise.
* libdiskfs/node-make.c: Likewise.
* libdiskfs/node-nput.c: Likewise.
* libdiskfs/node-nputl.c: Likewise.
* libdiskfs/node-nref.c: Likewise.
* libdiskfs/node-nrefl.c: Likewise.
* libdiskfs/node-nrele.c: Likewise.
* libdiskfs/node-nrelel.c: Likewise.
* libdiskfs/peropen-rele.c: Likewise.
* libdiskfs/priv.h: Likewise.
* libdiskfs/shutdown.c: Likewise.
* libdiskfs/sync-interval.c: Likewise.
* libfshelp/Makefile: Likewise.
* libfshelp/fetch-root.c: Likewise.
* libfshelp/fshelp.h: Likewise.
* libfshelp/get-identity.c: Likewise.
* libfshelp/lock-acquire.c: Likewise.
* libfshelp/lock-init.c: Likewise.
* libfshelp/locks.h: Likewise.
* libfshelp/set-active.c: Likewise.
* libfshelp/trans.h: Likewise.
* libfshelp/transbox-init.c: Likewise.
* libiohelp/Makefile: Likewise.
* libiohelp/get_conch.c: Likewise.
* libiohelp/handle_io_release_conch.c: Likewise.
* libiohelp/initialize_conch.c: Likewise.
* libiohelp/iohelp.h: Likewise.
* libiohelp/verify_user_conch.c: Likewise.
* libnetfs/Makefile: Likewise.
* libnetfs/dir-lookup.c: Likewise.
* libnetfs/dir-mkdir.c: Likewise.
* libnetfs/dir-mkfile.c: Likewise.
* libnetfs/dir-readdir.c: Likewise.
* libnetfs/dir-rmdir.c: Likewise.
* libnetfs/dir-unlink.c: Likewise.
* libnetfs/drop-node.c: Likewise.
* libnetfs/file-chauthor.c: Likewise.
* libnetfs/file-check-access.c: Likewise.
* libnetfs/file-chflags.c: Likewise.
* libnetfs/file-chmod.c: Likewise.
* libnetfs/file-chown.c: Likewise.
* libnetfs/file-exec.c: Likewise.
* libnetfs/file-get-storage-info.c: Likewise.
* libnetfs/file-get-translator.c: Likewise.
* libnetfs/file-lock-stat.c: Likewise.
* libnetfs/file-lock.c: Likewise.
* libnetfs/file-reparent.c: Likewise.
* libnetfs/file-set-size.c: Likewise.
* libnetfs/file-set-translator.c: Likewise.
* libnetfs/file-statfs.c: Likewise.
* libnetfs/file-sync.c: Likewise.
* libnetfs/file-syncfs.c: Likewise.
* libnetfs/file-utimes.c: Likewise.
* libnetfs/fsys-getroot.c: Likewise.
* libnetfs/fsys-set-options.c: Likewise.
* libnetfs/init-init.c: Likewise.
* libnetfs/io-clear-some-openmodes.c: Likewise.
* libnetfs/io-duplicate.c: Likewise.
* libnetfs/io-get-openmodes.c: Likewise.
* libnetfs/io-get-owner.c: Likewise.
* libnetfs/io-identity.c: Likewise.
* libnetfs/io-mod-owner.c: Likewise.
* libnetfs/io-read.c: Likewise.
* libnetfs/io-readable.c: Likewise.
* libnetfs/io-reauthenticate.c: Likewise.
* libnetfs/io-restrict-auth.c: Likewise.
* libnetfs/io-revoke.c: Likewise.
* libnetfs/io-seek.c: Likewise.
* libnetfs/io-set-all-openmodes.c: Likewise.
* libnetfs/io-set-some-openmodes.c: Likewise.
* libnetfs/io-stat.c: Likewise.
* libnetfs/io-write.c: Likewise.
* libnetfs/make-node.c: Likewise.
* libnetfs/netfs.h: Likewise.
* libnetfs/nput.c: Likewise.
* libnetfs/nref.c: Likewise.
* libnetfs/nrele.c: Likewise.
* libnetfs/release-peropen.c: Likewise.
* libnetfs/shutdown.c: Likewise.
* libpager/Makefile: Likewise.
* libpager/chg-compl.c: Likewise.
* libpager/clean.c: Likewise.
* libpager/data-request.c: Likewise.
* libpager/data-return.c: Likewise.
* libpager/data-unlock.c: Likewise.
* libpager/inhibit-term.c: Likewise.
* libpager/lock-completed.c: Likewise.
* libpager/lock-object.c: Likewise.
* libpager/mark-error.c: Likewise.
* libpager/no-senders.c: Likewise.
* libpager/object-init.c: Likewise.
* libpager/object-terminate.c: Likewise.
* libpager/offer-page.c: Likewise.
* libpager/pager-attr.c: Likewise.
* libpager/pager-create.c: Likewise.
* libpager/pager-shutdown.c: Likewise.
* libpager/priv.h: Likewise.
* libpager/seqnos.c: Likewise.
* libpipe/Makefile: Likewise.
* libpipe/pipe.c: Likewise.
* libpipe/pipe.h: Likewise.
* libports/Makefile: Likewise.
* libports/begin-rpc.c: Likewise.
* libports/bucket-iterate.c: Likewise.
* libports/claim-right.c: Likewise.
* libports/class-iterate.c: Likewise.
* libports/complete-deallocate.c: Likewise.
* libports/count-bucket.c: Likewise.
* libports/count-class.c: Likewise.
* libports/create-bucket.c: Likewise.
* libports/create-internal.c: Likewise.
* libports/destroy-right.c: Likewise.
* libports/enable-bucket.c: Likewise.
* libports/enable-class.c: Likewise.
* libports/end-rpc.c: Likewise.
* libports/get-right.c: Likewise.
* libports/import-port.c: Likewise.
* libports/inhibit-all-rpcs.c: Likewise.
* libports/inhibit-bucket-rpcs.c: Likewise.
* libports/inhibit-class-rpcs.c: Likewise.
* libports/inhibit-port-rpcs.c: Likewise.
* libports/init.c: Likewise.
* libports/interrupt-notified-rpcs.c: Likewise.
* libports/interrupt-on-notify.c: Likewise.
* libports/interrupt-operation.c: Likewise.
* libports/interrupt-rpcs.c: Likewise.
* libports/interrupted.c: Likewise.
* libports/lookup-port.c: Likewise.
* libports/manage-multithread.c: Likewise.
* libports/no-senders.c: Likewise.
* libports/port-deref-weak.c: Likewise.
* libports/port-deref.c: Likewise.
* libports/port-ref-weak.c: Likewise.
* libports/port-ref.c: Likewise.
* libports/ports.h: Likewise.
* libports/reallocate-from-external.c: Likewise.
* libports/reallocate-port.c: Likewise.
* libports/resume-all-rpcs.c: Likewise.
* libports/resume-bucket-rpcs.c: Likewise.
* libports/resume-class-rpcs.c: Likewise.
* libports/resume-port-rpcs.c: Likewise.
* libports/stubs.c: Likewise.
* libports/transfer-right.c: Likewise.
* libstore/Makefile: Likewise.
* libstore/gunzip.c: Likewise.
* libstore/part.c: Likewise.
* libstore/unzipstore.c: Likewise.
* libthreads/Makefile: Likewise.
* libtreefs/dir-lookup.c: Likewise.
* libtreefs/fsys-getroot.c: Likewise.
* libtreefs/fsys-hooks.c: Likewise.
* libtreefs/fsys.c: Likewise.
* libtreefs/trans-help.c: Likewise.
* libtreefs/trans-start.c: Likewise.
* libtreefs/treefs.h: Likewise.
* libtrivfs/cntl-create.c: Likewise.
* libtrivfs/dyn-classes.c: Likewise.
* libtrivfs/io-reauthenticate.c: Likewise.
* libtrivfs/io-restrict-auth.c: Likewise.
* libtrivfs/protid-clean.c: Likewise.
* libtrivfs/protid-dup.c: Likewise.
* libtrivfs/trivfs.h: Likewise.
* mach-defpager/Makefile: Likewise.
* mach-defpager/default_pager.c: Likewise.
* mach-defpager/kalloc.c: Likewise.
* mach-defpager/main.c: Likewise.
* nfs/Makefile: Likewise.
* nfs/cache.c: Likewise.
* nfs/main.c: Likewise.
* nfs/mount.c: Likewise.
* nfs/name-cache.c: Likewise.
* nfs/nfs.h: Likewise.
* nfs/ops.c: Likewise.
* nfs/rpc.c: Likewise.
* nfsd/Makefile: Likewise.
* nfsd/cache.c: Likewise.
* nfsd/loop.c: Likewise.
* nfsd/main.c: Likewise.
* nfsd/nfsd.h: Likewise.
* pfinet/Makefile: Likewise.
* pfinet/ethernet.c: Likewise.
* pfinet/glue-include/asm/spinlock.h: Likewise.
* pfinet/glue-include/linux/interrupt.h: Likewise.
* pfinet/glue-include/linux/sched.h: Likewise.
* pfinet/glue-include/linux/timer.h: Likewise.
* pfinet/glue-include/linux/wait.h: Likewise.
* pfinet/iioctl-ops.c: Likewise.
* pfinet/io-ops.c: Likewise.
* pfinet/kmem_cache.c: Likewise.
* pfinet/main.c: Likewise.
* pfinet/options.c: Likewise.
* pfinet/pfinet-ops.c: Likewise.
* pfinet/pfinet.h: Likewise.
* pfinet/sched.c: Likewise.
* pfinet/socket-ops.c: Likewise.
* pfinet/socket.c: Likewise.
* pfinet/timer-emul.c: Likewise.
* pfinet/tunnel.c: Likewise.
* pflocal/Makefile: Likewise.
* pflocal/connq.c: Likewise.
* pflocal/io.c: Likewise.
* pflocal/sock.c: Likewise.
* pflocal/sock.h: Likewise.
* pflocal/socket.c: Likewise.
* pflocal/sserver.c: Likewise.
* proc/Makefile: Likewise.
* proc/info.c: Likewise.
* proc/main.c: Likewise.
* proc/mgt.c: Likewise.
* proc/msg.c: Likewise.
* proc/proc.h: Likewise.
* proc/stubs.c: Likewise.
* proc/wait.c: Likewise.
* storeio/Makefile: Likewise.
* storeio/dev.c: Likewise.
* storeio/dev.h: Likewise.
* storeio/open.c: Likewise.
* storeio/open.h: Likewise.
* storeio/pager.c: Likewise.
* storeio/storeio.c: Likewise.
* term/Makefile: Likewise.
* term/devio.c: Likewise.
* term/hurdio.c: Likewise.
* term/main.c: Likewise.
* term/munge.c: Likewise.
* term/ptyio.c: Likewise.
* term/term.h: Likewise.
* term/users.c: Likewise.
* tmpfs/Makefile: Likewise.
* tmpfs/dir.c: Likewise.
* tmpfs/node.c: Likewise.
* tmpfs/tmpfs.c: Likewise.
* tmpfs/tmpfs.h: Likewise.
* trans/Makefile: Likewise.
* trans/fakeroot.c: Likewise.
* trans/fifo.c: Likewise.
* trans/hello-mt.c: Likewise.
* trans/new-fifo.c: Likewise.
* trans/streamio.c: Likewise.
* ufs/Makefile: Likewise.
* ufs/alloc.c: Likewise.
* ufs/dir.c: Likewise.
* ufs/hyper.c: Likewise.
* ufs/inode.c: Likewise.
* ufs/main.c: Likewise.
* ufs/pager.c: Likewise.
* ufs/pokeloc.c: Likewise.
* ufs/sizes.c: Likewise.
* ufs/ufs.h: Likewise.
* usermux/Makefile: Likewise.
* usermux/mux.c: Likewise.
* usermux/node.c: Likewise.
* usermux/usermux.h: Likewise.
* utils/Makefile: Likewise.
* utils/fakeauth.c: Likewise.
* utils/rpctrace.c: Likewise.
Diffstat (limited to 'libfshelp')
-rw-r--r-- | libfshelp/Makefile | 3 | ||||
-rw-r--r-- | libfshelp/fetch-root.c | 12 | ||||
-rw-r--r-- | libfshelp/fshelp.h | 14 | ||||
-rw-r--r-- | libfshelp/get-identity.c | 10 | ||||
-rw-r--r-- | libfshelp/lock-acquire.c | 12 | ||||
-rw-r--r-- | libfshelp/lock-init.c | 2 | ||||
-rw-r--r-- | libfshelp/locks.h | 2 | ||||
-rw-r--r-- | libfshelp/set-active.c | 2 | ||||
-rw-r--r-- | libfshelp/trans.h | 4 | ||||
-rw-r--r-- | libfshelp/transbox-init.c | 6 |
10 files changed, 34 insertions, 33 deletions
diff --git a/libfshelp/Makefile b/libfshelp/Makefile index bbc079c7..4de38372 100644 --- a/libfshelp/Makefile +++ b/libfshelp/Makefile @@ -32,7 +32,8 @@ SRCS = lock-acquire.c lock-init.c \ touch.c installhdrs = fshelp.h -HURDLIBS = shouldbeinlibc threads iohelp ports +HURDLIBS = shouldbeinlibc iohelp ports +LDLIBS += -lpthread OBJS = $(subst .c,.o,$(SRCS)) include ../Makeconf diff --git a/libfshelp/fetch-root.c b/libfshelp/fetch-root.c index eb569896..45c7dd09 100644 --- a/libfshelp/fetch-root.c +++ b/libfshelp/fetch-root.c @@ -95,13 +95,13 @@ fshelp_fetch_root (struct transbox *box, void *cookie, if (box->flags & TRANSBOX_STARTING) { box->flags |= TRANSBOX_WANTED; - cancel = hurd_condition_wait (&box->wakeup, box->lock); + cancel = pthread_hurd_cond_wait_np (&box->wakeup, box->lock); if (cancel) return EINTR; goto start_over; } box->flags |= TRANSBOX_STARTING; - mutex_unlock (box->lock); + pthread_mutex_unlock (box->lock); err = (*callback1) (box->cookie, cookie, &uid, &gid, &argz, &argz_len); if (err) @@ -147,7 +147,7 @@ fshelp_fetch_root (struct transbox *box, void *cookie, if (i != INIT_PORT_CWDIR) mach_port_deallocate (mach_task_self (), ports[i]); - mutex_lock (box->lock); + pthread_mutex_lock (box->lock); free (argz); @@ -157,7 +157,7 @@ fshelp_fetch_root (struct transbox *box, void *cookie, if (box->flags & TRANSBOX_WANTED) { box->flags &= ~TRANSBOX_WANTED; - condition_broadcast (&box->wakeup); + pthread_cond_broadcast (&box->wakeup); } if (err) @@ -173,7 +173,7 @@ fshelp_fetch_root (struct transbox *box, void *cookie, control = box->active; mach_port_mod_refs (mach_task_self (), control, MACH_PORT_RIGHT_SEND, 1); - mutex_unlock (box->lock); + pthread_mutex_unlock (box->lock); /* Cancellation point XXX */ err = fsys_getroot (control, dotdot, MACH_MSG_TYPE_COPY_SEND, @@ -181,7 +181,7 @@ fshelp_fetch_root (struct transbox *box, void *cookie, user->gids->ids, user->gids->num, flags, retry, retryname, root); - mutex_lock (box->lock); + pthread_mutex_lock (box->lock); if ((err == MACH_SEND_INVALID_DEST || err == MIG_SERVER_DIED) && control == box->active) diff --git a/libfshelp/fshelp.h b/libfshelp/fshelp.h index 9f4fa677..cf39fbc4 100644 --- a/libfshelp/fshelp.h +++ b/libfshelp/fshelp.h @@ -26,7 +26,7 @@ #include <errno.h> #include <mach.h> #include <hurd/hurd_types.h> -#include <cthreads.h> +#include <pthread.h> #include <hurd/iohelp.h> #include <sys/stat.h> #include <maptime.h> @@ -78,16 +78,16 @@ fshelp_start_translator (fshelp_open_fn_t underlying_open_fn, void *cookie, /* Active translator linkage */ /* These routines implement the linkage to active translators needed - by any filesystem which supports them. They require cthreads and + by any filesystem which supports them. They require pthreads and use the passive translator routines above, but they don't require the ports library at all. */ struct transbox { fsys_t active; - struct mutex *lock; + pthread_mutex_t *lock; int flags; - struct condition wakeup; + pthread_cond_t wakeup; void *cookie; }; #define TRANSBOX_STARTING 1 @@ -137,7 +137,7 @@ fshelp_fetch_root (struct transbox *transbox, void *cookie, void fshelp_transbox_init (struct transbox *transbox, - struct mutex *lock, + pthread_mutex_t *lock, void *cookie); /* Return true iff there is an active translator on this box */ @@ -163,7 +163,7 @@ void fshelp_drop_transbox (struct transbox *box); struct lock_box { int type; - struct condition wait; + pthread_cond_t wait; int waiting; int shcount; }; @@ -174,7 +174,7 @@ struct lock_box per file_lock. MUT is a mutex which will be held whenever this routine is called, to lock BOX->wait. */ error_t fshelp_acquire_lock (struct lock_box *box, int *user, - struct mutex *mut, int flags); + pthread_mutex_t *mut, int flags); /* Initialize lock_box BOX. (The user int passed to fshelp_acquire_lock diff --git a/libfshelp/get-identity.c b/libfshelp/get-identity.c index 51c5fb29..946b7e8e 100644 --- a/libfshelp/get-identity.c +++ b/libfshelp/get-identity.c @@ -24,7 +24,7 @@ #include <assert.h> static struct port_class *idclass = 0; -static struct mutex idlock = MUTEX_INITIALIZER; +static pthread_mutex_t idlock = PTHREAD_MUTEX_INITIALIZER; struct idspec { @@ -59,7 +59,7 @@ fshelp_get_identity (struct port_bucket *bucket, return 0; } - mutex_lock (&idlock); + pthread_mutex_lock (&idlock); if (!idclass) id_initialize (); @@ -69,20 +69,20 @@ fshelp_get_identity (struct port_bucket *bucket, if (*pt != MACH_PORT_NULL) { - mutex_unlock (&idlock); + pthread_mutex_unlock (&idlock); return 0; } err = ports_create_port (idclass, bucket, sizeof (struct idspec), &i); if (err) { - mutex_unlock (&idlock); + pthread_mutex_unlock (&idlock); return err; } i->fileno = fileno; *pt = ports_get_right (i); ports_port_deref (i); - mutex_unlock (&idlock); + pthread_mutex_unlock (&idlock); return 0; } diff --git a/libfshelp/lock-acquire.c b/libfshelp/lock-acquire.c index bad1114d..cdc6185c 100644 --- a/libfshelp/lock-acquire.c +++ b/libfshelp/lock-acquire.c @@ -24,7 +24,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ #define EWOULDBLOCK EAGAIN /* XXX */ error_t -fshelp_acquire_lock (struct lock_box *box, int *user, struct mutex *mut, +fshelp_acquire_lock (struct lock_box *box, int *user, pthread_mutex_t *mut, int flags) { if (!(flags & (LOCK_UN | LOCK_EX | LOCK_SH))) @@ -58,7 +58,7 @@ fshelp_acquire_lock (struct lock_box *box, int *user, struct mutex *mut, if (box->type == LOCK_UN && box->waiting) { box->waiting = 0; - condition_broadcast (&box->wait); + pthread_cond_broadcast (&box->wait); } *user = LOCK_UN; } @@ -72,7 +72,7 @@ fshelp_acquire_lock (struct lock_box *box, int *user, struct mutex *mut, if (box->waiting) { box->waiting = 0; - condition_broadcast (&box->wait); + pthread_cond_broadcast (&box->wait); } } @@ -82,7 +82,7 @@ fshelp_acquire_lock (struct lock_box *box, int *user, struct mutex *mut, if (flags & LOCK_NB) return EWOULDBLOCK; box->waiting = 1; - if (hurd_condition_wait (&box->wait, mut)) + if (pthread_hurd_cond_wait_np (&box->wait, mut)) return EINTR; } @@ -96,7 +96,7 @@ fshelp_acquire_lock (struct lock_box *box, int *user, struct mutex *mut, if (box->waiting) { box->waiting = 0; - condition_broadcast (&box->wait); + pthread_cond_broadcast (&box->wait); } } } @@ -119,7 +119,7 @@ fshelp_acquire_lock (struct lock_box *box, int *user, struct mutex *mut, else { box->waiting = 1; - if (hurd_condition_wait (&box->wait, mut)) + if (pthread_hurd_cond_wait_np (&box->wait, mut)) return EINTR; } } diff --git a/libfshelp/lock-init.c b/libfshelp/lock-init.c index 4b1da97e..66046aaa 100644 --- a/libfshelp/lock-init.c +++ b/libfshelp/lock-init.c @@ -26,7 +26,7 @@ void fshelp_lock_init (struct lock_box *box) { box->type = LOCK_UN; - condition_init (&box->wait); + pthread_cond_init (&box->wait, NULL); box->waiting = 0; box->shcount = 0; } diff --git a/libfshelp/locks.h b/libfshelp/locks.h index dcecf5d9..a950f610 100644 --- a/libfshelp/locks.h +++ b/libfshelp/locks.h @@ -21,7 +21,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ #include <mach.h> #include <hurd.h> -#include <cthreads.h> +#include <pthread.h> #include <hurd/ports.h> #include "fshelp.h" #include <sys/file.h> diff --git a/libfshelp/set-active.c b/libfshelp/set-active.c index 4f25a50e..9776a529 100644 --- a/libfshelp/set-active.c +++ b/libfshelp/set-active.c @@ -49,7 +49,7 @@ fshelp_set_active (struct transbox *box, while (box->flags & TRANSBOX_STARTING) { box->flags |= TRANSBOX_WANTED; - cancel = hurd_condition_wait (&box->wakeup, box->lock); + cancel = pthread_hurd_cond_wait_np (&box->wakeup, box->lock); if (cancel) return EINTR; } diff --git a/libfshelp/trans.h b/libfshelp/trans.h index b2416453..a9ea6487 100644 --- a/libfshelp/trans.h +++ b/libfshelp/trans.h @@ -17,7 +17,7 @@ #include <mach.h> #include <hurd.h> -#include <cthreads.h> +#include <pthread.h> #include <hurd/ports.h> #include "fshelp.h" @@ -28,5 +28,5 @@ struct transboot struct trans_link *link; }; -spin_lock_t _fshelp_translistlock; +pthread_spinlock_t _fshelp_translistlock; struct trans_link *_fshelp_translist; diff --git a/libfshelp/transbox-init.c b/libfshelp/transbox-init.c index 1945a57d..42d953e8 100644 --- a/libfshelp/transbox-init.c +++ b/libfshelp/transbox-init.c @@ -19,17 +19,17 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #include "fshelp.h" -#include <cthreads.h> +#include <pthread.h> void fshelp_transbox_init (struct transbox *transbox, - struct mutex *lock, + pthread_mutex_t *lock, void *cookie) { transbox->active = MACH_PORT_NULL; transbox->flags = 0; transbox->lock = lock; - condition_init (&transbox->wakeup); + pthread_cond_init (&transbox->wakeup, NULL); transbox->cookie = cookie; } |